我想提取数字并使用Java和String添加这些数字保持不变。
字符串as-
String msg="1,2,hello,world,3,4";
输出应该像-10,hello,world
谢谢
最佳答案
String[] parts = msg.split(",");
int sum = 0;
StringBuilder stringParts = new StringBuilder();
for (String part : parts) {
try {
sum += Integer.parseInt(part);
} catch (NumberFormatException ex) {
stringParts.append("," + part);
}
}
stringParts.insert(0, String.valueOf(sum));
System.out.println(stringParts.toString()); // the final result
注意,几乎总是避免使用例外作为控制流的上述做法。我认为这种具体情况是一个例外,因为没有方法可以验证字符串的“可分析性”。如果有
Integer.isNumber(string)
,那将是路要走。实际上,您可以创建这样的实用程序方法。检查this question。