有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在java中提取数字和字符串

我想使用Java提取数字并添加这些数字,字符串保持不变

字符串作为-

String msg="1,2,hello,world,3,4";

输出应该是-10,你好,世界

谢谢


共 (3) 个答案

  1. # 1 楼答案

    解决你的问题:

    1. 解析为令牌
    2. 将令牌转换为对象
    3. 对物体进行操作
  2. # 2 楼答案

    String pieces[] = msg.split(",");  
    int sum=0;
    StringBuffer sb = new StringBuffer();
    for(int i=0;i < pieces.length;i++){
    
          if(org.apache.commons.lang.math.NumberUtils.isNumber(pieces[i])){
                 sb.appendpieces[i]();
          }else{
                 int i = Integer.parseInt(pieces[i]));
                 sum+=i;    
          }
    
     }
     System.out.println(sum+","+sb.);
     }
    
  3. # 3 楼答案

    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