如何在python中从字符串中删除不需要的字符?
我有以下字符串:如何在python中从字符串中删除不需要的字符?,python,string,text,Python,String,Text,我有以下字符串: text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj' 我想返回: 2007 2008 在Python中有什么方法可以做到这一点吗? 您可能可以构建一个更好的字符表来跳过并使其更漂亮,但这是一般的想法。 >>> import re >>> text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj' >>> re.s
text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj'
我想返回:
2007 2008
在Python中有什么方法可以做到这一点吗?
您可能可以构建一个更好的字符表来跳过并使其更漂亮,但这是一般的想法。
>>> import re
>>> text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj'
>>> re.sub("[^0-9]"," ",text)
' 2007 2008 '
您可能可以构建一个更好的字符表来跳过并使其更漂亮,但这只是一般的想法
>>> import re
>>> text = 'adsfklaiin2007daf adf adflkajf;j 2008afadfkjkj'
>>> re.sub("[^0-9]"," ",text)
' 2007 2008 '
我将留给您格式化输出
我将留给您格式化输出。这是正则表达式的经典案例。使用re python库,您可以获得:
re.findall('\d{4}', "yourStringHere")
这将返回字符串中所有四位数项目的列表。只需根据需要调整正则表达式。这是正则表达式的经典案例。使用re python库,您可以获得:
re.findall('\d{4}', "yourStringHere")
import re
num = re.compile('[\d]*')
numbers = [number for number in num.findall(text) if number]
['2007', '2008']
这将返回字符串中所有四位数项目的列表。只需根据需要调整您的正则表达式。检查以下答案:如果它是我想要保留的特定文本,该怎么办。它可能是一个数字,但可能不是。例如,如果我想保留2007d 2008a或其他特定的文本字符串,请检查以下答案:如果它是我想保留的特定文本,该怎么办。它可能是一个数字,但可能不是。例如,如果我想保留2007d2008a或其他特定的文本字符串,该怎么办?
import re
num = re.compile('[\d]*')
numbers = [number for number in num.findall(text) if number]
['2007', '2008']