我有一些字符串 X,我希望一次性删除分号、句点、逗号、冒号等。有没有一种不需要大量 .replace(somechar,"") 调用链的方法?
问问题
61 次
4 回答
1
您可以使用re.sub
模式匹配和替换。以下内容仅替换h
为i
空字符串:
In [1]: s = 'byehibyehbyei'
In [1]: re.sub('[hi]', '', s)
Out[1]: 'byebyebye'
别忘了import re
。
于 2013-05-13T01:29:42.727 回答
1
>>> import re
>>> foo = "asdf;:,*_-"
>>> re.sub('[;:,*_-]', '', foo)
'asdf'
[;:,*_-]
- 要匹配的字符列表''
- 将匹配替换为空- 使用字符串
foo
.
有关更多信息,请查看re.sub(pattern, repl, string, count=0, flags=0)
文档。
于 2013-05-13T01:30:11.083 回答
0
不知道速度,但这是另一个不使用re
.
commas_and_stuff = ",+;:"
words = "words; and stuff!!!!"
cleaned_words = "".join(c for c in words if c not in commas_and_stuff)
给你:
“文字和东西!!!!”
于 2013-05-13T01:48:15.677 回答