如果我有一个字符串,它包含很多单词。如果字符串中的单词不以_
开头,我想删除右括号。
示例输入:
this is an example to _remove) brackets under certain) conditions.
输出:
this is an example to _remove) brackets under certain conditions.
如果不使用re.sub
分割单词,我怎么能这样做?
答案 0 :(得分:6)
re.sub
接受一个callable作为第二个参数,在这里派上用场:
>>> import re
>>> s = 'this is an example to _remove) brackets under certain) conditions.'
>>> re.sub('(\w+)\)', lambda m: m.group(0) if m.group(0).startswith('_') else m.group(1), s)
'this is an example to _remove) brackets under certain conditions.'
答案 1 :(得分:2)
当列表理解能够做到时,我不会在这里使用正则表达式。
HttpListenerContext
如果你有可能的输入:
result = ' '.join([word.rstrip(")") if not word.startswith("_") else word
for word in words.split(" ")])
你要变成:
someword))
然后你必须这样做:
someword)