我想提取数字并使用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

10-04 13:58