我想从我的琴弦与"\"
开始删除的文字,如:应用re.sub贪婪字符
\xf, \africa\87, \ckat\x70, ...
是否有re.sub
这样用贪婪字符的方式?
例如为:
line = re.sub("[\.*]", "", line)
谢谢!
编辑: 输入例如:
" lorem ipsum \xe2\x80\x9csianhill7 lorem ipsum"
输出:
" lorem ipsum lorem ipsum"
我想从我的琴弦与"\"
开始删除的文字,如:应用re.sub贪婪字符
\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'
我猜'31
@AshwiniChaudhary:谢谢...采取的点数 – Abhijit
的表达式匹配是:
[\b\\][\w]+,?
而使用Lorem存有上述表达式的你的输入文本只匹配你想删除的内部词:)
我增加了一些其他的正则表达式匹配,
里面的字符串和\
[\b\\][\w.,]*
regex = re.compile(r"""
\\\S+\s*
""", re.VERBOSE)
line = r" lorem ipsum \xe2\x80\x9csianhill7 lorem ipsum"
replaced = regex.sub("", line)
请注意,您需要后使用*
0以上告诉Python将'\'视为普通字符而不是转义字符。这是通过在字符串前添加r来完成的。
我还假设你想删除所有以'\'开头并包含下一个空白字符的文本。
谢谢,虽然我不能真正在字符串前添加“r”,因为我导入它打开('... .csv') – Julia
如果您直接从文件中读取,则不需要'r'。只有在您想要测试隔离示例上的代码时才需要它。 –
你应该可能会添加一个输入和输出示例。 –
'\ xe2'确实是'\ xe2',还是它是指ASCII码为0xe2的字符? – nhahtdh
我相信这意味着ASCII码为0xe2的字符,但在我的文本中显示为\ xe2 – Julia