删除字符串中每个句子中特定符号后的单词

时间:2018-10-02 10:39:47

标签: python string indexing del

  1. 这是字符串,例如: '我有一个苹果。我要吃但这很疼。 我想将其转换为此: “我有一个苹果要吃,真是太疼了”

1 个答案:

答案 0 :(得分:0)

这是一种无需正则表达式的方法,如前所述,使用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.'