一个字符串由字母和数字组成。例如 1256Ab79。
我们必须从字符串中删除出现的 56 和 7。
输入:
1256Ab79
输出:
12Ab9
输入:
a567Eq79
输出:
aEq9
我尝试了 .isdigits() 函数,但我无法解决这个问题
str.replace()
链接在一起。对于这个具体且非常简单的案例:
>>> s = '1256Ab79'
>>> s.replace('56', '').replace('7', '')
'12Ab9'
>>> s = 'a567Eq79'
>>> s.replace('56', '').replace('7', '')
'aEq9'
第一个
replace()
将子字符串 '56'
的任何实例替换为空字符串,从而有效地将其删除。同样,第二个从字符串中删除 '7'
。请注意,我们可以将多个调用 replace()
链接在一起,因为 replace()
返回修改后的字符串。
如果您需要更复杂的替换,或者有很多可能的目标字符串,那么您可以查看
re.sub()
并从可能的目标字符串列表动态构造正则表达式模式。
正则表达式可用于此目的:
import re
re.sub(r'\W+', '', your_string)
根据 Python 定义...
'\W == [^a-zA-Z0-9_]
,这将排除所有数字、字母和 _
您可以尝试将
re.sub()
与正则表达式 56|7
一起使用
import re
word = '1256Ab79'
re.sub(r'56|7', '', word)
12Ab9
重新导入
数据='34378dfjjbdsj342' 结果 = re.sub(r'[^\d.]', '', 数据)