在字符串中出现的每个数字之前插入换行符?

时间:2014-04-28 20:51:07

标签: java

我有类似这样的格式的字符串

String VIA = "1.NEW DELHI 2. Lucknow 3. Agra";

我想在每个数字出现一个点之前插入一个换行符,这样它的最终字符串就像这样

String VIA = "1.NEW DELHI " +"\n"+"2. Lucknow " +"\n"+"3. Agra";

我该怎么办?我读了Stringbuilder和String溢出,但现在我很困惑。

2 个答案:

答案 0 :(得分:2)

类似的东西:

StringBuilder builder = new StringBuilder();
String[] splits = VIA.split("\d+\.+");
for(String split : splits){
   builder.append(split).append("\n");
}

String output = builder.toString().trim();

答案 1 :(得分:1)

这里最安全的方法是进入for循环并检查char是否为isDigit(),然后添加' \ n'在将它添加到返回String之前。请注意,我不确定您是否想要提供一个' \ n'在第一个数字之前。

String temp = "";
for(int i=0; i<VIA.length(); i++) {
  if(Character.isDigit(VIA.charAt(i)))
    temp += "\n" + VIA.charAt(i);
  } else {
    temp += VIA.charAt(i);
  }
}
VIA = temp;
//just use i=1 here of you want to skip the first charachter or better do a boolean check for first digit.