正则表达式删除字符串python中的单词

时间:2015-10-13 04:31:40

标签: python regex

如何删除此字符串中的单词a

We are at a boat sale near a dock.

结果

We are at boat sale near dock.

我试过了:

removed = original.replace(" a", "")removed = original.replace(" a ", "")

4 个答案:

答案 0 :(得分:3)

看起来你只需要用空格替换。

'We are at a boat sale near a dock.'.replace(" a ", " ")
# Result: We are at boat sale near dock. # 

我不确定您尝试使用其他字符串,但如果您可以使用它,请尝试使用此类字符串操作而不是regex以获得更好的性能。

答案 1 :(得分:2)

您可以使用regexp

尝试这种方式
 import re
 s= "We are at a boat sale near a dock."
 op = re.sub(r'\ba\b\s+',"",s)
 op 

在python控制台中

>>> import re
>>> s = 'We are at a boat sale near a dock.'
>>> op = re.sub(r'\ba\b\s+',"",s)
>>> op
'We are at boat sale near dock.'

答案 2 :(得分:1)

两个步骤。

word_a = re.compile(r'\ba\b')
spaces = re.compile(r'\s+')
spaces.sub(' ', word_a.sub('', 'We are at a boat sale near a dock'))

\b匹配单词的开头或结尾,但仅此一项将为我们提供连续的空格,因此我们用一个空格替换多个空格\s+

答案 3 :(得分:0)

你可以试试: 1.使用replace

>>> line = """ We are at a boat sale near a dock. """
>>> line.replace(" a "," ")
' We are at boat sale near dock. '
  1. 使用正则表达式并用单个空格替换双空格:

    (re.sub(r'\ ba \ b','',line))。replace(“”,“”)