如何在Python中去除字符串中的无用字符?
我有以下这个字符串:
text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj'
我想得到:
2007 2008
有没有什么方法可以在Python中做到这一点?
4 个回答
5
在编程中,有时候我们需要把一些代码块放在一起,这样可以让我们的代码更整洁、更易于管理。比如说,当我们有一段代码需要重复使用时,我们可以把它放在一个“代码块”里,这样就可以在需要的时候直接调用,而不需要每次都写一遍。
这就像是把一些常用的工具放在一个工具箱里,想用的时候直接打开工具箱拿出来就行了,省时又方便。
在这个例子中,
就是一个代码块的占位符,表示这里应该有一段具体的代码。你可以把它想象成一个空盒子,等你需要的时候再把东西放进去。import re
num = re.compile('[\d]*')
numbers = [number for number in num.findall(text) if number]
['2007', '2008']
7
这是一个使用正则表达式的经典例子。通过使用Python的re库,你可以这样做:
re.findall('\d{4}', "yourStringHere")
这样做会返回字符串中找到的所有四位数字的列表。你只需要根据需要调整你的正则表达式就可以了。
3
>>> import re
>>> text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj'
>>> re.sub("[^0-9]"," ",text)
' 2007 2008 '
我把输出的格式留给你自己去处理。