Вот способ сделать это без регулярных выражений, используя 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.'