我正在学习中间的python。
假设有一根绳子
astring = '[Embodied cognition - Wikipedia](https://en.wikipedia.org/wiki/Embodied_cognition)'
与
string.punctuation
一起提取单词from string import punctuation
for delimiter in punctuation:
if delimiter in astring:
astring = astring.replace(delimiter, ' ')
In [7]: astring
Out[7]: ' Embodied cognition Wikipedia https en wikipedia org wiki Embodied cognition '
我试过使用
map
并且它有效In [12]: a = map(astring.replace, punctuation, ' ')
In [14]: list(a)
Out[14]: [' Embodied cognition Wikipedia https en wikipedia org wiki Embodied cognition ']
如何用其他先进技术解决这个问题?
最佳答案
您应该研究正则表达式(简称regex)。
import re
astring = '[Embodied cognition - Wikipedia](https://en.wikipedia.org/wiki/Embodied_cognition)'
re.sub(r'[^A-Za-z0-9]+', ' ', astring)
# returns:
' Embodied cognition Wikipedia https en wikipedia org wiki Embodied cognition '