这是我的输入
你好世界ja123va456789
我希望得到像这样的输出
hello world ja 123 va 456789
这是我的代码
public String extractDigits(String src) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < src.length(); i++) {
char c = src.charAt(i);
if (Character.isDigit(c)) {
builder.append(c);
}
}
return builder.toString();
}
public static void main(String[] args) {
String word = "hello world ja123va456789";
String x = word.trim();
String[] wordsplit = x.split("\\s+");
String output = "";
Coba3 coba = new Coba3();
for (String word1 : wordsplit) {
coba.extractDigits(word1);
output += word1+" ";
}
System.out.println(output);
}
我的输出仍然是“hello world ja123va456789”,我的代码部分必须在哪里修复?
答案 0 :(得分:0)
您可以在空格上或在将字母与数字分开的外观上拆分输入,然后将这些部分连接在一起:
String input = "hello world ja123va456789";
String[] parts = input.split("(\\s+|(?:(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])))");
StringBuilder output = new StringBuilder("");
for (int i=0; i < parts.length; ++i) {
if (i > 0) {
output.append(" ");
}
output.append(parts[i]);
}
System.out.println(output);
hello world ja 123 va 456789