在Java中使用正则表达式格式化字符串


问题内容

有什么方法可以使用正则表达式将字符串格式化为特定模式,还是stringbuilder +子字符串是一种更快的方法?

例如,说出电话号码-> 1234567890作为输入

并输出为->(123)456-7890

我看到有可能在这篇文章上:http :
//www.4guysfromrolla.com/webtech/031302-1.shtml,但给出的解释在ASP中。我如何用Java做到这一点?


问题答案:

RE当无法使用substring或更难以做到的时候,人们就会选择这样做。

你的情况最好只使用StringBuilderinsert()

假设电话号码长度验证有效(= 10个字符)

        String phoneNumber = "1234567890";
        StringBuilder sb = new StringBuilder(phoneNumber)
                                .insert(0,"(")
                                .insert(4,")")
                                .insert(8,"-");
        String output = sb.toString();
        System.out.println(output);

输出量

(123)456-7890