我有类似这样的格式的字符串
String VIA = "1.NEW DELHI 2. Lucknow 3. Agra";
我想在每个数字出现一个点之前插入一个换行符,这样它的最终字符串就像这样
String VIA = "1.NEW DELHI " +"\n"+"2. Lucknow " +"\n"+"3. Agra";
我该怎么办?我读了Stringbuilder和String溢出,但现在我很困惑。
答案 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.