如何在Java中第二次出现字符之前拆分字符串

Hac*_*ode 6 java string split function

我有:

1234 2345 3456 4567
Run Code Online (Sandbox Code Playgroud)

当我尝试时String.split(" ",2),我得到:

{1234} , {2345 3456 4567}
Run Code Online (Sandbox Code Playgroud)

但是我需要:

{1234},{2345}
Run Code Online (Sandbox Code Playgroud)

我只想要前两个元素.我如何在Java中实现它?
提前致谢.

编辑:这只是一个庞大的数据集中的一行.

HJK*_*HJK 7

我假设您需要前两个字符串,然后执行以下操作:

    String[] res = Arrays.copyOfRange(string.split(" "), 0, 2);
Run Code Online (Sandbox Code Playgroud)


mer*_*011 0

  1. 通过调用两次来找到包含所需内容的子字符串indexOf
  2. split()仅用于该子字符串。

这是一种仅使用indexOf和的替代解决方案substring

public class Program{
    public static void main(String[] args) {
        String input = "1234 2345 3456 4567";
        int firstIndex = input.indexOf(" ");
        int secondIndex = input.indexOf(" ", firstIndex + 1);
        String[] output = new String[] {input.substring(0, firstIndex),
            input.substring(firstIndex+1, secondIndex)};
        System.out.println(output[0]);
        System.out.println(output[1]);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

1234
2345
Run Code Online (Sandbox Code Playgroud)