【问题标题】:Java StringTokenizer to split every single char in one lineJava StringTokenizer 将每个字符拆分为一行
【发布时间】:2015-05-22 17:38:12
【问题描述】:

我想使用 StringTokenizer 将每个字符拆分为一行。像这样的东西

abc {{ }

期望的输出是这样的

a
b
c
{
{
}

但默认值只会被空格分割

StringTokenizer st=new StringTokenizer(line);

输出是

abc
{{
}

如何改进代码 非常感谢

【问题讨论】:

  • 你为什么不直接使用String#charAt
  • ... 或 String@toCharArray() 为您提供一个很好的数组中的每个字符...

标签: java stringtokenizer


【解决方案1】:

您不需要使用 StringTokenizer。你可以这样做

char[] temp = string.toCharArray(); 
String reassembled = "";
for(int a = 0;a<temp.length;a++)
{
    reassembled+=temp[a]+"\n";    //Adding newline
}
System.out.print(reassembled);

【讨论】:

    【解决方案2】:

    您有几种选择。

           String data = "abc {{ }";
    
            //If you want to remove the spaces in between 
            data = data.replace(" ", "");
    
            //Option - 1 : 
            for(char ch : data.toCharArray()){
                System.out.println(ch);
            }
    
            //Option - 2
            for(int i=0;i<data.length();i++){
                System.out.println(data.charAt(i));
            }
    

    【讨论】:

      【解决方案3】:

      你可以使用 string.split() 方法。

          String a = "abc {{ }";
          String[] b = a.split("");
          for(int i = 0; i < b.length; ++i){
              if(!b[i].equals(" ")){
                  System.out.println(b[i]);
              }
          }
      

      【讨论】:

        猜你喜欢
        • 2018-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多