Java 如何分解字符串?

Java 如何分解字符串?,java,string,split,java-8,Java,String,Split,Java 8,假设我有这根绳子 String myString=" 102 3 4 93 3"; 我需要能够访问字符串中的每个整数,但分隔每个整数的空格字符数量不可预测。我想以这样的结局结束 stuff[0]=102 stuff[1]=3 stuff[2]=4 stuff[3]=93 stuff[4]=3 首先使用trim()删除尾随空格和前导空格。然后可以使用split(regex): 这里我们使用: \\s : Match any whitespace character

假设我有这根绳子

String myString="  102   3  4     93  3";
我需要能够访问字符串中的每个整数,但分隔每个整数的空格字符数量不可预测。我想以这样的结局结束

stuff[0]=102

stuff[1]=3

stuff[2]=4

stuff[3]=93

stuff[4]=3
首先使用
trim()
删除尾随空格和前导空格。然后可以使用
split(regex)

这里我们使用:

\\s   : Match any whitespace character
+    : Repeat one or more times
如果需要
int
元素,可以使用
Integer.parseInt()
方法:

int n = Integer.parseInt(parts[0]);
首先使用
trim()
删除尾随空格和前导空格。然后可以使用
split(regex)

这里我们使用:

\\s   : Match any whitespace character
+    : Repeat one or more times
如果需要
int
元素,可以使用
Integer.parseInt()
方法:

int n = Integer.parseInt(parts[0]);
现在,这里有一个从原始字符串获取int数组的解决方案

public static void main(String[] args) {
    String myString="  102   3  4     93  3";
    int[] arr = Arrays.stream(myString.trim().split("\\s+"))
                      .mapToInt(Integer::parseInt)
                      .toArray();
    System.out.println(Arrays.toString(arr));
}
输出:

[102, 3, 4, 93, 3]
现在,这里有一个从原始字符串获取int数组的解决方案

public static void main(String[] args) {
    String myString="  102   3  4     93  3";
    int[] arr = Arrays.stream(myString.trim().split("\\s+"))
                      .mapToInt(Integer::parseInt)
                      .toArray();
    System.out.println(Arrays.toString(arr));
}
输出:

[102, 3, 4, 93, 3]

myString.split(\\s+)是否进行拆分-但是否希望在拆分的末尾添加字符串或整数?如果是后者,则需要循环并进行一些分析。
myString.split(\\s+)是否进行拆分-但是否希望在拆分的末尾添加字符串或整数?如果是后者,那么您需要循环并进行一些解析。现在回答这个问题,谢谢朋友。现在回答这个问题,谢谢朋友。