Java拆分方法

时间:2015-05-13 23:40:46

标签: java regex string split

我正在尝试拆分输入的数字,如(123)456-7890。

 String [] split = s.split(delimiters);

我一直在网上搜索划分括号内部区域代码的方法,但我找不到任何适用于我的情况的东西。我不知道阵列是否正在搞乱打印。数组不是必需的,但我不知道还有什么要做,因为需要使用split方法。

4 个答案:

答案 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}}