使用正则提取字符串中的连续数字-并累加求和

使用正则提取字符串中的连续数字,并累加且求和

example:
    String word = "asdjg12kjsdkgsdgs76876111sdgas7810s9";
extract:
    12,76876111,7810, 然后累加求和
code0:Scala
    package FrequentPattenDemo
    object Demo01 {
      def main(args: Array[String]): Unit = {
        var sum = 0
        val word: String = "asdjg12kjsdkgsdgs76876111sdgas7810s9"
        val regex = "(\\d{2,})".r()//code:1
        val matcher = regex.pattern.matcher(word)
        while(matcher.find){
          println(matcher.group(1))
        }
        //code2; word.split("\\D").filter(_.length >= 2).foreach(_.toCharArray.foreach(sum += _.toInt))
        println(sum)
      }
    }

code1:Java
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class Demo001 {
        public static void main(String[] args) {
            int sum = 0;
            String word = "asdjg12kjsdkgsdgs76876111sdgas7810s9";
            Pattern pattern = Pattern.compile("(\\d{2,})");
            Matcher matcher = pattern.matcher(word);
            while(matcher.find()){
                String group = matcher.group(1);
                for (char a:group.toCharArray()) {
                    sum+=Integer.parseInt(a+"");
                }
            }
                System.out.println(sum);
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容