我有这个长串 “Ab1ac2axd3nxn70-00-0-0” 对于我的生活,我无法弄清楚如何将java中的字符串分开看起来像这样。 “Ab1 ac2 axd3 nxn7 0-0 0-0-0” 我想我需要使用分隔符,但我不知道所需格式的代码,也不知道如何正确编写它。
可能有助于知道零只会以“0-0”或“0-0-0”的形式出现,如果附加到字母上它只会像这样ab30-0现在我不想要在破折号和零之间放置空格但是如果发生“0-00-0-0”我希望它被格式化为“0-0 0-0-0”
答案 0 :(得分:1)
这将解决您的问题。可能有一个更优雅的解决方案,但这绝对有效:
public class Delimiter {
public static void main(String[] args) {
String input = "Ab1ac2axd3nxn70-00-0-0";
int l = input.length() - 1;
char[] inputChars = input.toCharArray();
StringBuilder output = new StringBuilder();
for (int i = 0; i < l; i++) {
char c = inputChars[i];
output.append(c);
if (Character.isDigit(c) && inputChars[i+1] != '-')
output.append(' ');
}
output.append(inputChars[l]);
System.out.println(output.toString());
}
}