字符串格式 Java

String format Java

我想做以下事情:

我在 Java 中有一个字符串,例如

"4231354"

我的目的是用这种方式显示版本号

XXX-X-X.XX

这意味着我需要使用函数来显示

"423-1-3.54"

谢谢。

你也可以试试这个:

StringBuilder str = new StringBuilder("4235167");

    str.insert(3, '-');
    str.insert(5, '-');
    str.insert(7, '.');
    System.out.println(str);

你可以用 replaceAll 来做,像这样:

String ver = "4231354";
String fmt = ver.replaceAll("(\d{3})(\d)(\d)(\d{2})", "--.");

第一个参数定义的正则表达式有四组——一组三个字符,两组单个字符,一组两个字符。第二个参数使用这些编号为 </code> 到 <code> 的组来生成您希望实现的格式。

Demo.

如果你想得到 “423-1-3.54” 您所要做的就是:

String originalNumber = "4231354";
String versionNumber = new String(originalNumber.substring(0, 3) + "-" + originalNumber.substring(3, 4) + "-" + originalNumber.substring(4, 5) + "." + originalNumber.substring(5));

或使用String.format()

    public Format(String version) {
        String v = String.format("%s-%s-%s.%s", 
            version.substring(0,3), 
            version.substring(3,4), 
            version.substring(4,5), 
            version.substring(5,7)); 
        System.out.println(v);
    }

我喜欢老办法

正如你提到的长度是固定的,所以你可以使用 substring

String st="4231354";
String newString=st.substring(0,3)+"-"+st.substring(3,4)+"-"+st.substring(4,5)+"."+st.substring(5,st.length());
System.out.println(newString);

DEMO