首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >上下文相关的字符串拆分,保留分隔符

上下文相关的字符串拆分,保留分隔符
EN

Stack Overflow用户
提问于 2009-06-25 00:19:27
回答 3查看 206关注 0票数 0

我有一个"foo-bar-1.23-4“形式的字符串,我需要在第一个假设后面跟着一个数字进行拆分,这样结果就是'foo-bar','1.23-4‘。我尝试过以下几种方法:

代码语言:javascript
运行
复制
>>> re.split('-\d', 'foo-bar-1.23-4', 1)
['foo-bar', '.23-4']

代码语言:javascript
运行
复制
>>> re.split('-(\d)', 'foo-bar-1.23-4', 1)
['foo-bar', '1', '.23-4']

结果不是最好的。有没有一行代码可以让我得到我想要的东西,而不需要在最后一个元素中使用分隔符?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-25 00:22:51

你已经很接近了,试试这个:

代码语言:javascript
运行
复制
re.split('-(?=\d)', 'foo-bar-1.23-4', 1)

我使用positive lookahead来实现这一点--基本上,我匹配的是后面紧跟数字字符的破折号。

票数 2
EN

Stack Overflow用户

发布于 2009-06-25 00:24:29

代码语言:javascript
运行
复制
re.split('-(?=\d)', 'foo-bar-1.23-4', 1)

使用lookahead,这正是Andrew所做的,但比我快了一分钟……:-)

票数 0
EN

Stack Overflow用户

发布于 2009-06-25 00:27:09

积极的前瞻会起作用吗?

代码语言:javascript
运行
复制
re.split('-?=\d', 'foo-bar-1.23-4', 1)

不确定你是否需要围绕着前视,但试一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1041600

复制
相关文章

相似问题

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