首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第一次出现逗号后返回字符串的子字符串

第一次出现逗号后返回字符串的子字符串
EN

Stack Overflow用户
提问于 2015-03-04 05:23:37
回答 5查看 11.3K关注 0票数 2

如何获取此输入CSV文件:

代码语言:javascript
运行
复制
0,1
1,2
3,4
5,6,7
8,10
9,10

并且只返回第一次出现",“之后的每一行的子字符串,因此我的输出是:

代码语言:javascript
运行
复制
1
2
4
6,7
10
10

在用逗号拆分后,我只能知道如何解析特定范围内的字符串,所以我使用string.split(",")[1]返回第一个逗号之后到下一个逗号之前的所有内容,但我不知道如何获取第一个逗号之后的所有内容。因此,对于包含多个逗号的输入,我缺少数据。

EN

回答 5

Stack Overflow用户

发布于 2015-03-04 05:28:14

您可以执行以下操作:

代码语言:javascript
运行
复制
line.substring(line.indexOf(",")+1)
票数 5
EN

Stack Overflow用户

发布于 2015-03-04 06:33:49

在第一次出现,之前,有几种不同的方法可以删除所有内容。

  1. 使用该索引查找第一个,substring的索引(位置)。

这看起来就像

代码语言:javascript
运行
复制
String wantedPart = lineOfText.substring(lineOfText.indexOf(",") + 1);

由于indexOf返回,本身的索引,因此需要添加一个来获取所有内容。

  1. 使用更好的重载,如String.split(String regex, int limit)。此重载允许您最多匹配limit子字符串。因此,在限制为2的情况下,它将在找到的第一个,上拆分(不会再有更多)。

在您的代码中,您可以使用

代码语言:javascript
运行
复制
String wantedPart = lineOfText.split(",")[1];
票数 2
EN

Stack Overflow用户

发布于 2015-03-04 06:42:31

如果可以使用shell脚本,您可以使用cut命令:

-d ','表示使用逗号作为-f2-表示使用字段2之后。

代码语言:javascript
运行
复制
Machine:~ donald$ cat file.txt
0,1
1,2
3,4
5,6,7
8,10
9,10
Machine:~ donald$ cat file.txt | cut -d ',' -f2-
1
2
4
6,7
10
10
Machine:~ donald$
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28842160

复制
相关文章

相似问题

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