Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在第一次出现逗号后返回字符串的子字符串_Java_Regex_String_Parsing_Csv - Fatal编程技术网

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

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

如何获取此输入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.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代码中读取此文件的?