我有一个由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);