[英]Returning substring of string after first occurence of a comma
如何获取此输入CSV文件:
0,1
1,2
3,4
5,6,7
8,10
9,10
并仅在首次出现“,”之后返回每行的子字符串,因此我的输出是:
1
2
4
6,7
10
10
在用逗号分割后,我只能弄清楚如何在一定范围内解析字符串,因此我使用string.split(",")[1]
返回第一个逗号之后和下一个逗号之前的所有内容,但是我可以请弄清楚如何在第一个逗号后得到所有内容。 因此,对于带有多个逗号的输入,我缺少数据。
你可以做:
line.substring(line.indexOf(",")+1)
有一对夫妇的去除的第一次出现之前,一切都不同的方式,
。
,
并使用该索引创建子字符串 。 这看起来像
String wantedPart = lineOfText.substring(lineOfText.indexOf(",") + 1);
由于indexOf
返回的索引,
它本身,你需要添加一个让一切过去吧。
String.split(String regex, int limit)
。 此重载允许您匹配最大limit
子字符串。 因此,与2的限制,它会分裂第一,
发现(并没有更多)。 在您的代码中,您可以使用
String wantedPart = lineOfText.split(",")[1];
如果要使用Shell脚本,则可以使用cut
命令:
-d ','
表示使用逗号, -f2-
表示使用字段2起。
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$
尝试使用String.indexOf(“,”)等。
您可以使用重载的split方法,该方法允许定义子字符串的限制。
split(“,”,1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.