Чтобы разделить текст на основе слов, используя код python - PullRequest
0 голосов
/ 30 марта 2020

У меня длинный текст, подобный приведенному ниже. Мне нужно разделить на основе некоторых слов сказать («В», «Вкл», «Эти»)

Ниже приведены примеры данных:

С другой стороны, мы денонсируем с праведное негодование и неприязнь к мужчинам, которые настолько соблазнены и деморализованы чарами удовольствия момента, настолько ослеплены желанием, что не могут предвидеть боль и неприятности, которые неизбежно последуют; и равная вина лежит на тех, кто не справляется со своими обязанностями из-за слабости воли, что равносильно тому, чтобы сказать, уклоняясь от тяжелого труда и боли. Эти случаи совершенно просты и легко различимы guish. В свободный час, когда наша сила выбора ничем не ограничена, и когда ничто не мешает нам делать то, что нам нравится больше всего, следует приветствовать каждое удовольствие и избегать каждой боли. Но в определенных обстоятельствах и в связи с требованиями долга или деловыми обязательствами часто случается так, что удовольствия должны быть отвергнуты, а неприятности приняты. Поэтому мудрец всегда придерживается в этих вопросах этого принципа отбора: он отвергает удовольствия, чтобы получить другие большие удовольствия, или же он терпит боли, чтобы избежать худших болей.

Может ли эта проблема быть решена с помощью код, как у меня есть 1000 строк в CSV-файле.

Ответы [ 3 ]

1 голос
/ 30 марта 2020

Что касается моего комментария, я думаю, что хорошим вариантом будет использование регулярного выражения с шаблоном:

 re.split(r'(?<!^)\b(?=(?:On|In|These)\b)', YourStringVariable)
0 голосов
/ 30 марта 2020

Чтобы найти целые слова, которые не являются частью больших слов, мне нравится использовать регулярное выражение: [^\w]word[^\w]

Пример python кода, предполагая, что текст находится в переменной с именем text:

import re
exp = re.compile(r'[^\w]in[^\w]', flags=re.IGNORECASE)
all_occurrences = list(exp.finditer(text))
0 голосов
/ 30 марта 2020

Да, это можно сделать в python. Вы можете загрузить текст в переменную и использовать встроенную функцию Split для строки. Например:

with open(filename, 'r') as file:
    lines = file.read()
    lines = lines.split('These')
    # lines is now a list of strings split whenever 'These' string was encountered
...