在java中的每个其他数字后面添加一个空格

时间:2014-09-05 21:35:53

标签: java

我有char“数据”

String dataB = String.valueOf(data) ;
dataB = dataB.replaceAll("[^0-9]", "") ;

StringBuilder sb = new StringBuilder();
String spane = Character.toString(char);
for (int i = 0; i < dataB.length; i++) {
  sb.append(dataB.charAt(i));
  if (!Character.toString(dataB.charAt(i)).equals(" ")) {
    sb.append(" ");
  }

}
String dataC = sb.toString() ;
            System.out.println(dataC) ;  
        }  
    }  

然后我尝试将其转换为字符串,删除除数字之外的所有字符,在每个字符后添加一个空格,然后打印。

2 个答案:

答案 0 :(得分:1)

试试这个:

String origStr = ...;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < origStr.length(); i++) {
  char ch = origStr.charAt(i);
  sb.append(ch);
  if (ch != ' ' && (i % 2 == 1)) {
    sb.append(' ');
  }
}
String result = sb.toString();

答案 1 :(得分:1)

要在每隔一个字母后留出一个空格,请使用:

    String newString = "yourStringHere";
    StringBuilder sb = new StringBuilder();
    int letterNumber = 1;
    for (int i = 0; i < newString.length();i++) {
        if (letterNumber > 1) {
      sb.append(newString.charAt(i)).append(" ");
      letterNumber = 0;
        } else {
            sb.append(newString.charAt(i));
        }
        letterNumber++;
    }
    String result = sb.toString();
    System.out.println(result);

是的,根据Krayo的回答,这是一个改进的,现在正确的答案