我有以下字符串:
S=‘这个.is Sparta1.2版本,请检查。’
我想把它分割成点,而忽略十进制数。因此,所需的产出:
“这是”斯巴达1.2版“,”请检查“
我试过以下几点:
re.split(r'\.(?!([\d+\.\d+]))',s)我得到的输出是:
“这是”,“没有”,“是斯巴达1.2版”,“”,“请检查”,“没有,”
为什么我在这里没有和空的字符串?我只想要分裂的弦.
“这是”斯巴达1.2版“,”请检查“
请建议在这里进行整改。
发布于 2016-09-01 09:11:29
发布于 2020-08-10 20:40:52
re.split(r'(?<=\D)\.(?=.)|(?<=\d)\.(?=\D)', item)这将将字符串项拆分为一个点,并忽略小数点。
在此链接中查找正则表达式的备忘表:https://www.dataquest.io/blog/regex-cheatsheet/
发布于 2016-09-01 09:16:15
由于几乎有您想要的东西,所以可以解析当前输出以删除Nones和空字符串。
这可以在一行中使用列表理解来完成:
FilteredList = [ itm for itm in UnfilteredList if itm is not None and len(itm)>0]https://stackoverflow.com/questions/39267292
复制相似问题