Java 在第一次出现逗号后返回字符串的子字符串
如何获取此输入CSV文件:Java 在第一次出现逗号后返回字符串的子字符串,java,regex,string,parsing,csv,Java,Regex,String,Parsing,Csv,如何获取此输入CSV文件: 0,1 1,2 3,4 5,6,7 8,10 9,10 并仅返回第一次出现“,”后每行的子字符串,以便我的输出为: 1 2 4 6,7 10 10 我只知道在用逗号拆分后如何在一定范围内解析字符串,因此我使用string.split(“,”[1]返回第一个逗号之后和下一个逗号之前的所有内容,但我不知道如何在第一个逗号之后获取所有内容。因此,对于包含多个逗号的输入,我缺少数据。尝试String.indexOf(“,”)等等。您可以执行以下操作: line.subst
0,1
1,2
3,4
5,6,7
8,10
9,10
并仅返回第一次出现“,”后每行的子字符串,以便我的输出为:
1
2
4
6,7
10
10
我只知道在用逗号拆分后如何在一定范围内解析字符串,因此我使用
string.split(“,”[1]
返回第一个逗号之后和下一个逗号之前的所有内容,但我不知道如何在第一个逗号之后获取所有内容。因此,对于包含多个逗号的输入,我缺少数据。尝试String.indexOf(“,”)等等。您可以执行以下操作:
line.substring(line.indexOf(",")+1)
您可以使用重载拆分方法,该方法允许定义子字符串的限制
拆分(“,”,1)在第一次出现
,
之前,有几种不同的方法可以删除所有内容
,
的索引(位置),并使用该索引李>
这看起来像
String wantedPart = lineOfText.substring(lineOfText.indexOf(",") + 1);
由于indexOf
返回,
本身的索引,因此需要添加一个索引以使所有内容都通过它
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.split(“,”[1]返回第一个逗号之后和下一个逗号之前的所有内容,但我不知道如何在第一个逗号之后获取所有内容。您是如何在Java代码中读取此文件的?