我正在尝试拆分输入的数字,如(123)456-7890。
String [] split = s.split(delimiters);
我一直在网上搜索划分括号内部区域代码的方法,但我找不到任何适用于我的情况的东西。我不知道阵列是否正在搞乱打印。数组不是必需的,但我不知道还有什么要做,因为需要使用split方法。
答案 0 :(得分:1)
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HelloWorld{
public static void main(String[] args){
String phoneNumber = "(123)-456-7890";
String pattern = "\\((\\d+)\\)-(\\d+)-(\\d+)";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(phoneNumber);
if (m.find())
System.out.println(m.group(1) + " " + m.group(2) + " " + m.group(3));
}
}
您可以尝试here。
答案 1 :(得分:1)
如果我理解了您的问题,您可以使用Pattern
(XXX) XXX-XXXX
,其中X
是一个数字。您还可以使用{n}
来n
发生()
次。您与String str = "(123) 456-7890";
Pattern p = Pattern.compile("\\((\\d{3})\\) (\\d{3})-(\\d{4})");
Matcher m = p.matcher(str);
if (m.matches()) {
String areaCode = m.group(1);
String first3digits = m.group(2);
String last4digits = m.group(3);
System.out.printf("(%s) %s-%s%n", areaCode, first3digits,
last4digits);
}
分组。像,
(123) 456-7890
提供您要求的
输出split
或,如果您必须使用(
,可以先调用)
,然后再删除replaceAll
String str = "(123) 456-7890";
String[] arr = str.replaceAll("[()]", "").split("[ -]");
System.out.printf("(%s) %s-%s%n", arr[0], arr[1], arr[2]);
和(123) 456-7890
/ p>
$http.jsonp
也提供了您要求的输出
$http.jsonp("mydataurl?_jsonp=JSON_CALLBACK").success(function(data){
console.log(data); // always logs 0.76608400 1431562002 (only updates when I manually refresh the page)
});
答案 2 :(得分:0)
如果必须使用拆分方法:
String s= "(123) 456-7890"
String[] split = s.split("[()-]");
System.out.println("(" + split[1] + ")" + split[2] + "-" + split[3]);
答案 3 :(得分:0)
这有效:
{{1}}