所以我的代码是
value = "123456"
我要删除除2和5之外的所有内容.输出将是25
程序应该工作,即使值更改,例如
value = "463312"
输出将是2
我试着使用remove()和replace()功能.但它没有用.
在python 3.6.2上进行
wim*_*wim 12
您最好不要尝试删除所有不需要的字符,而是最好在结果中构建要保留的字符的白名单:
>>> value = '123456'
>>> whitelist = set('25')
>>> ''.join([c for c in value if c in whitelist])
'25'
Run Code Online (Sandbox Code Playgroud)
这是循环隐含的另一个选项.我们构建一个映射,用于str.translate每个字符映射到的位置'',除非另有说明:
>>> from collections import defaultdict
>>> d = defaultdict(str, str.maketrans('25', '25'))
>>> '123456'.translate(d)
'25'
Run Code Online (Sandbox Code Playgroud)
如果你正在寻找的正则表达式的解决方案,那么你可以使用re.sub替换所有以外的字符25用''.
import re
x = "463312"
new = re.sub('[^25]+' ,'', x)
x = "463532312"
new = re.sub('[^25]+' ,'', x)
Run Code Online (Sandbox Code Playgroud)
输出:
2,522
| 归档时间: |
|
| 查看次数: |
2412 次 |
| 最近记录: |