首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中使用忽略十进制值的点来拆分字符串?

如何在python中使用忽略十进制值的点来拆分字符串?
EN

Stack Overflow用户
提问于 2016-09-01 09:08:27
回答 3查看 1.8K关注 0票数 1

我有以下字符串:

S=‘这个.is Sparta1.2版本,请检查。’

我想把它分割成点,而忽略十进制数。因此,所需的产出:

“这是”斯巴达1.2版“,”请检查“

我试过以下几点:

代码语言:javascript
复制
    re.split(r'\.(?!([\d+\.\d+]))',s)

我得到的输出是:

“这是”,“没有”,“是斯巴达1.2版”,“”,“请检查”,“没有,”

为什么我在这里没有和空的字符串?我只想要分裂的弦.

“这是”斯巴达1.2版“,”请检查“

请建议在这里进行整改。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-01 09:11:29

试着劈开

代码语言:javascript
复制
(?<!\d)\.(?!\d)

它确保这个点之前没有,也没有后面跟着一个数字。

在regex101这里见

票数 5
EN

Stack Overflow用户

发布于 2020-08-10 20:40:52

代码语言:javascript
复制
re.split(r'(?<=\D)\.(?=.)|(?<=\d)\.(?=\D)', item)

这将将字符串项拆分为一个点,并忽略小数点。

在此链接中查找正则表达式的备忘表:https://www.dataquest.io/blog/regex-cheatsheet/

票数 1
EN

Stack Overflow用户

发布于 2016-09-01 09:16:15

由于几乎有您想要的东西,所以可以解析当前输出以删除Nones和空字符串。

这可以在一行中使用列表理解来完成:

代码语言:javascript
复制
FilteredList = [ itm for itm in UnfilteredList if itm is not None and len(itm)>0]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39267292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档