繁体   English   中英

需要将 Java 字符串拆分为两个 arrays

[英]Need to split the Java String into two arrays

我在 Java 中有以下类型的字符串。 这个想法是字符串将包含一个数字列表,后跟“Y-”或“N-”。 它们可以是任何长度。 我需要将数字列表分别提取为两个。

String str = "Y-1,2,3,4N-5,6,7,8" 
//Other examples: "Y-1N-3,6,5" or "Y-1,2,9,18N-36"

我需要将其分解为以下 arrays:

arr1[] = {1,2,3,4}
arr2[] = {5,6,7,8}

我该怎么做?

首先将字符串拆分为两个 arrays 字符串部分

    String str = "Y-1,2,3,4N-5,6,7,8";
    
    String str1 = str.substring(2, str.indexOf("N-")); // "1,2,3,4"
    String str2 = str.substring(str.indexOf("N-") + 2); // "5,6,7,8"

然后使用Integer.parseInt()将字符串数组转换为整数数组,简单的 java-8 解决方案与流:

    int[] array1 = Arrays.stream(str1.split(",")).mapToInt(Integer::parseInt).toArray();
    int[] array2 = Arrays.stream(str2.split(",")).mapToInt(Integer::parseInt).toArray();

如果您使用的是没有流的 java 版本,则需要使用简单的 for 循环而不是Arrays.stream()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM