java - 将字符串拆分为数组,然后再次拆分数组

标签 java arrays string loops

我有这个字符串:

   fname lname, GTA V: 120 : 00000, Minecraft : 20 : 10, Assassin’s Creed IV : 90 : 800, Payday 2 : 190 : 2001 ,Wolfenstein TNO : 25 : 80, FarCry 4 : 55 : 862

我想使用循环将此字符串拆分为逗号 [,] 处的数组,示例:

[0]fname lname
[1]GTA V: 120 : 00000
[2]Minecraft : 20 : 10
[3]Assassin’s Creed IV : 90 : 800
[4]Payday 2 : 190 : 2001
[5]Wolfenstein TNO : 25 : 80
[6]FarCry 4 : 55 : 862

然后我想使用另一个循环将其进一步拆分为另一个数组示例

[0]fname lname
[1]GTA V
[2]120
[3]00000
[4]Minecraft
[5]20
[6]10
....

有更好的方法吗?

目前我有:

    List<String> lines = new ArrayList<String>();
    while (scan.hasNextLine()) 
    {
      lines.add(scan.nextLine());
    }

    //converts the list array to string array 

    String[] scanarray = lines.toArray(new String[0]);

    //converts the string array into one large string

    String str_array = Arrays.toString(scanarray);

    String[] arraysplit;


    arraysplit = str_array.split("\\s*:\\s*");

    for (int i=0; i<arraysplit.length; i++)
    {
        arraysplit[i] = arraysplit[i].trim();
        //              ^^^^^^^^^^^^ has values with spaces
        System.out.println(scanarray[i]);
    } 

编辑:

目前,我的程序创建了 3 个相同的数组,其中包含您可以在上面第二个代码块中看到的示例。

最佳答案

您可以使用 String 类中带有多个分隔符的 split 方法

public static void main(String[] args) {
    String myOriginalString = "   fname lname, GTA V: 120 : 00000, Minecraft : 20 : 10, Assassin’s Creed IV : 90 : 800, Payday 2 : 190 : 2001 ,Wolfenstein TNO : 25 : 80, FarCry 4 : 55 : 862";
    // | is the regex OR operator
    String[] splited = myOriginalString.split(",|:");
    for(String s : splited)
    System.out.println(s.trim());
}

关于java - 将字符串拆分为数组,然后再次拆分数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47347907/

相关文章:

python - 匹配列中的值并返回 pandas | 中的另一列Python

Python 表情符号搜索和替换未按预期工作

java - 使用 opencsv.CSVReader 中的 CSVReader 作为字符串

java - 什么是 Ljava.lang.String;@

无法弄清楚我的代码有什么问题:\(Array subtraction in C)

c - 根据位置每 3 个元素从数组中删除元素

java - 将字符串子集转换为数组变量的最佳方法是什么?

java - 在 spring 中进行改造调用时,当状态码不为 200 时,响应正文为 null

java - 在聚合类中使用克隆的最佳实践

java - 错误: threadid=1: thread exiting with uncaught exception (group=0xb60734f0)