我有一个由6个字母组成的字符串,例如:“abcdef”。
我需要添加“。”每两个字符,所以它是这样的:“ab.cd.ef”。
我在用Java工作,我试过了:

private String FormatAddress(String sourceAddress) {
    char[] sourceAddressFormatted = new char[8];
    sourceAddress.getChars(0, 1, sourceAddressFormatted, 0);
    sourceAddress += ".";
    sourceAddress.getChars(2, 3, sourceAddressFormatted, 3);
    sourceAddress += ".";
    sourceAddress.getChars(4, 5, sourceAddressFormatted, 6);
    String s = new String(sourceAddressFormatted);
    return s;
}

但是我收到了奇怪的值,例如[C @ 2723b6。

提前致谢:)

最佳答案

您应该将其修复为

    String sourceAddress = "abcdef";
    String s = sourceAddress.substring(0, 2);
    s += ".";
    s += sourceAddress.substring(2, 4);
    s += ".";
    s += sourceAddress.substring(4, 6);
    System.out.println(s);

您也可以使用正则表达式进行相同的操作,这是一个单一的解决方案
    String s = sourceAddress.replaceAll("(\\w\\w)(?=\\w\\w)", "$1.");
    System.out.println(s);

07-26 09:20