Java如何格式化字符串?

use*_*525 0 java string-formatting

我有以下字符串:

String x = "020120765";
Run Code Online (Sandbox Code Playgroud)

我希望这个字符串的形式02 0120765.一种可能性是:

x = x.substring(0,2) + " " + x.substring(2, x.length());
Run Code Online (Sandbox Code Playgroud)

要么:

x = String.format("%s %s", x.substring(0, 2), x.substring(2));
Run Code Online (Sandbox Code Playgroud)

还有其他更好或更优雅的方式吗?我正在考虑正则表达式的方向.我尝试过以下方法:

x = String.format("%s %s", x.split("\\d{2}"));
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Ale*_* C. 8

您还可以使用StringBuilderinsert方法:

x = new StringBuilder(x).insert(2, ' ').toString();
Run Code Online (Sandbox Code Playgroud)


Evg*_*eev 5

另外一个选项

x = x.replaceAll("(..)(.+)", "$1 $2");
Run Code Online (Sandbox Code Playgroud)