我在一个字符串中有一个或多个电话号码。它们用空格隔开。如何将这些数字捕获成组,没有空格?我不想使用拆分。
答案 0 :(得分:2)
尝试String.split()
方法。
String []numbers=string.split(" ");
答案 1 :(得分:1)
如果你必须使用正则表达式,所有电话号码都是数字(没有其他字符)。
试试这段代码:
String phone = "11111 22222 33333 44444";
String regex = "(\\d+)";
Matcher m = Pattern.compile(regex).matcher(phone);
while(m.find())
System.out.println(m.group(0));
答案 2 :(得分:1)
所以,基本上你正在寻找用空格分割任何东西的东西。这是我使用的正则表达式:
([^ ]+)
使用这个可能是一个更好的选择:
([^\s]+)
因为这会包含任何空格字符(空格,制表符,NL,FF,VT,CR)。
但是,我同意其他评论者认为分组()是你最好的选择......
答案 3 :(得分:1)
如果必须使用正则表达式。你可以尝试
String phoneNumbers = "2398989 1289813 9823981 1989213";
Pattern pattern = Pattern.compile("(\\d{7})");
Matcher matcher = pattern.matcher(phoneNumbers);
while (matcher.find()) {
System.out.println(matcher.group(0));
}
顺便说一句,string.split也是一个正则表达式。