给定一个textile,我如何替换在[]
开头有%
的所有标记。例如,在以下文本文件中:
Hi how are you?
I %am %fine.
Thanks %and %you
如何用%
和[]
将所有字符括起来:
Hi how are you?
I [am] [fine].
Thanks [and] [you]
我试着先过滤代币,然后再替换它们,但也许有一种更像Python的方法:
with open('../file') as f:
s = str(f.readlines())
a_list = re.sub(r'(?<=\W)[$]\S*', s.replace('.',''))
a_list= set(a_list)
print(list(a_list))
你可以用
参见regex demo
细节
\B
-一个非单词边界,当前位置的左边必须有字符串开头或非单词字符%
-a%
字符(\w+)
-第1组:任何一个或多个单词字符(字母、数字或_
)。如果需要,替换为(\S+)
以匹配1个或多个非空白字符,但请注意\S
也匹配标点符号。你知道吗Python demo:
相关问题 更多 >
编程相关推荐