удаление слов после определенного знака в каждом предложении в строке - PullRequest
0 голосов
/ 02 октября 2018
  1. это строка, например: «У меня есть яблоко.Я хочу съесть это.Но это так болит.и я хочу преобразовать его в это: «Я хочу съесть яблоко, оно так болит»

1 Ответ

0 голосов
/ 04 октября 2018

Вот способ сделать это без регулярных выражений, используя del, как вы упомянули:

def remove_after_sym(s, sym):
    # Find first word
    first = s.strip().split(' ')[0]

    # Split the string using the symbol
    l = []
    s = s.strip().split(sym)

    # Split words by space in each sentence
    for a in s:
        x = a.strip().split(' ')
        del x[0]
        l.append(x)

    # Join words in each sentence
    for i in range(len(l)):
        l[i] = ' '.join(l[i])

    # Combine sentences
    final = first + ' ' + ' '.join(l)
    final = final.strip() + '.'

    return final

Здесь sym - это str (один символ).

Также я использовал слово «предложение» очень свободно, как в вашем примере, sym - точка.Но здесь предложение действительно означает части строки, разбитые нужным символом.

Вот что оно выводит.

In [1]: remove_after_sym(string, '.')
Out[1]: 'I have an apple want to eat it it is so sore.'
...