【问题标题】:Split String and add to a char array?拆分字符串并添加到字符数组?
【发布时间】:2020-03-09 23:14:00
【问题描述】:

例如,我的程序中有以下String 输入:

"stringToRemoveCharsFrom, f d s a"

我想将字符串拆分成以下2个字符串:

1. the string before the comma - i.e. stringToRemoveCharsFrom
2. the string after the comma - i.e. f d s a

我知道我可以使用.split() 方法来做到这一点并添加到array / arraylist.

但是,我怎样才能确定哪个字符串是逗号之前的字符串,哪个是逗号之后的字符串?

即然后我想从第二个 "f d s a" 字符串创建一个 char 数组 - 但是如何确定从 2 个字符串中的哪一个创建数组。

【问题讨论】:

    标签: java arrays string char


    【解决方案1】:
    String str = "stringToRemoveCharsFrom, f d s a";
    

    数组中的第一个是逗号之前的那个。

    String[] vals = str.split(",");
    
    System.out.println(vals[0]); // first part
    System.out.println(vals[1]); // second part.
    
    char[] s = vals[1].toCharArray(); // your character array.
    System.out.println(Arrays.toString(s));
    // or if you want an array of single char strings.
    String[] st = vals[1].split("");
    System.out.println(Arrays.toString(st));
    

    如果您不想这样,您的数组中会包含空格字符 您可以执行以下操作。

    字符串

    String[] charsNoSpaces = vals[1].trim().split("\\s+");
    System.out.println(Arrays.toString(charsNoSpaces));
    

    字符

    char[] charsNoSpaces2 = vals[1].replaceAll("\\s+","").toCharArray();
    System.out.println(Arrays.toString(charsNoSpaces2));
    

    【讨论】:

      【解决方案2】:

      第一个字符串(在逗号之前)将位于 split 返回的数组的第一个索引处(例如0)。逗号后面的字符串将位于第二个索引处(例如1)。类似的,

      String str = "stringToRemoveCharsFrom, f d s a";
      String[] tokens = str.split("\\s*,\\s*");
      System.out.println("left = " + tokens[0]);
      String[] charTokens = tokens[1].split("\\s+");
      System.out.println("right = " + Arrays.toString(charTokens));
      

      哪些输出

      left = stringToRemoveCharsFrom
      right = [f, d, s, a]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-15
        • 1970-01-01
        • 2021-03-10
        • 1970-01-01
        • 1970-01-01
        • 2019-06-13
        相关资源
        最近更新 更多