2024-09-20 03:44:11 发布
网友
在python中
我有一根绳子
"dsafsadf_afasa_2.2.14_43.33_dsfd"
我需要得到公正
"2.2.14_43.33"
我该怎么做?你知道吗
好像你要删除所有的字母和下划线,除非数字中间有底核,。你知道吗
>>> s = "dsafsadf_afasa_2.2.14_43.33_dsfd" >>> re.sub(r'[a-z]|(?<=\D)_(?=\d)|(?<=\d)_(?=\D)|(?<=\D)_(?=\D)|^_+|_+$', '', s) '2.2.14_43.33'
你可以简单地做一个re.findall。你知道吗
re.findall
import re p = re.compile(r'\d+(?:[\W_]\d+)*') test_str = "dsafsadf_afasa_2.2.14_43.33_dsfd" re.findall(p, test_str)
请参见演示。你知道吗
https://regex101.com/r/hF1wE3/2
你可以用str.translate公司如果您只想删除字母:
s = "dsafsadf_afasa_2.2.14_43.33_dsfd" from string import ascii_letters print(s.translate(None,ascii_letters))
输出:
__2.2.14_43.33_
对于Python3:
from string import ascii_letters print(s.translate({ord(ch):"" for ch in ascii_letters}))
如果确实要从最终用途条中删除下划线:
s = "dsafsadf_afasa_2.2.14_43.33_dsfd" from string import ascii_letters print(s.translate(None,ascii_letters).strip("_"))
2.2.14_43.33
好像你要删除所有的字母和下划线,除非数字中间有底核,。你知道吗
你可以简单地做一个
re.findall
。你知道吗请参见演示。你知道吗
https://regex101.com/r/hF1wE3/2
你可以用str.translate公司如果您只想删除字母:
输出:
对于Python3:
如果确实要从最终用途条中删除下划线:
输出:
相关问题 更多 >
编程相关推荐