如何获取此输入CSV文件:
0,1
1,2
3,4
5,6,7
8,10
9,10并且只返回第一次出现",“之后的每一行的子字符串,因此我的输出是:
1
2
4
6,7
10
10在用逗号拆分后,我只能知道如何解析特定范围内的字符串,所以我使用string.split(",")[1]返回第一个逗号之后到下一个逗号之前的所有内容,但我不知道如何获取第一个逗号之后的所有内容。因此,对于包含多个逗号的输入,我缺少数据。
发布于 2015-03-04 05:28:14
您可以执行以下操作:
line.substring(line.indexOf(",")+1)发布于 2015-03-04 06:33:49
在第一次出现,之前,有几种不同的方法可以删除所有内容。
,和substring的索引(位置)。这看起来就像
String wantedPart = lineOfText.substring(lineOfText.indexOf(",") + 1);由于indexOf返回,本身的索引,因此需要添加一个来获取所有内容。
String.split(String regex, int limit)。此重载允许您最多匹配limit子字符串。因此,在限制为2的情况下,它将在找到的第一个,上拆分(不会再有更多)。在您的代码中,您可以使用
String wantedPart = lineOfText.split(",")[1];发布于 2015-03-04 06:42:31
如果可以使用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$https://stackoverflow.com/questions/28842160
复制相似问题