从字符串中提取所有(自然)数字的最有效方法 [英] Most efficient way to extract all the (natural) numbers from a string

查看:107
本文介绍了从字符串中提取所有(自然)数字的最有效方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

用户可能想根据需要分隔数字.

Users may want to delimit numbers as they want.

从字符串中提取所有(自然)数字最有效(或简单的标准函数)是什么?

What is the most efficient (or a simple standard function) to extract all the (natural) numbers from a string?

推荐答案

您可以使用正则表达式.我从 Sun的正则表达式匹配器教程修改了此示例:

You could use a regular expression. I modified this example from Sun's regex matcher tutorial:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Test {

    private static final String REGEX = "\\d+";
    private static final String INPUT = "dog dog 1342 dog doggie 2321 dogg";

    public static void main(String[] args) {
       Pattern p = Pattern.compile(REGEX);
       Matcher m = p.matcher(INPUT); // get a matcher object
       while(m.find()) {
           System.out.println("start(): "+m.start());
           System.out.println("end(): "+m.end());
       }
    }
}

找到每个数字的开始和结束索引.正则表达式\d+允许以0开头的数字,但是如果需要,您可以轻松更改它.

It finds the start and end indexes of each number. Numbers starting with 0 are allowed with the regular expression \d+, but you could easily change that if you want to.

这篇关于从字符串中提取所有(自然)数字的最有效方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆