我想从以 开头的字符串中删除文本"\"
,例如:
\xf, \africa\87, \ckat\x70, ...
有没有办法使用贪婪的字符来做到这一点re.sub
?
例如:
line = re.sub("[\.*]", "", line)
谢谢!
编辑:输入示例:
" lorem ipsum \xe2\x80\x9csianhill7 lorem ipsum"
输出:
" lorem ipsum lorem ipsum"
如果我正确理解你的问题,你想从你的句子中删除所有非 ascii 前缀词
您可以通过single pass LC
使用ordinal match
和filter
不使用来轻松地做到这一点regex
>>> data = " lorem ipsum \xe2\x80\x9csianhill7 lorem ipsum"
>>> ' '.join(e for e in data.split() if 31 < ord(e[0]) < 127)
'lorem ipsum lorem ipsum'
regex = re.compile(r"""
\\\S+\s*
""", re.VERBOSE)
line = r" lorem ipsum \xe2\x80\x9csianhill7 lorem ipsum"
replaced = regex.sub("", line)
请注意,您需要告诉 python 将 '\' 视为常规字符而不是转义字符。这是通过在字符串前面添加 r 来完成的。
我还假设您要删除以 '\' 开头的所有文本,直到并包括下一个空白字符。