首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何仅获取数字

如何仅获取数字
EN

Stack Overflow用户
提问于 2013-05-16 16:58:41
回答 3查看 68关注 0票数 1

在下表中,我只需要第一个数字

代码语言:javascript
运行
复制
tqt
 T     P/S  NAME                   TOTAL            FOP                 SEGMENTS 
 9    .3  TMACDORMAN/SAM CORBIN    USD      1177.17 CHECK                  4-5   
 10   .1  TLOJ/DANUTA ISABELLA     USD      1341.17 CHECK                  4-5   
 10   .2  TMACDORMAN/JACK HENRY    USD      1341.17 CHECK                  4-5

根据上面的字符串,我只需要

代码语言:javascript
运行
复制
9
10
10

现在我正在使用下面的regex

代码语言:javascript
运行
复制
(?:\d)([0-9]{0,}(?<!\.\d))

但是它显示了列'FOP‘和'SEGMENT’的编号。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-16 17:20:36

要捕获每行的第一个数字(前面可能有空格),您可以使用:

代码语言:javascript
运行
复制
(?m)^ *(\d+)

(?m)使^匹配在行的开头,而不仅仅是字符串的开头。

票数 3
EN

Stack Overflow用户

发布于 2013-05-16 17:01:00

我尝试过(\d+)\s+.*,这对我来说似乎很有效,如果你想要的只是第一个数字。

我打开了ignore-case和多行。

票数 0
EN

Stack Overflow用户

发布于 2013-05-16 17:13:13

代码语言:javascript
运行
复制
^(\s+(?<number>[0-9]+)[^\n]+(\n)?)+

然后读取NUMBER组的内容

或者如果您单独解析每行

代码语言:javascript
运行
复制
^\s+(?<number>[0-9]+)[^\n]+(\n)?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16583099

复制
相关文章

相似问题

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