这里可以使用Java字符串格式吗

这里可以使用Java字符串格式吗,java,string-formatting,Java,String Formatting,在这种情况下,我需要在UI中显示一个带有空格的字符串。这是为了更好的可读性 例如,如果我的数据是“1234567890”,我希望将其显示为“1234567890”。我想知道是否可以使用Java的字符串格式方法来实现这一点?不,您必须实现自己的代码。有关字符串API,请参阅。您似乎正在尝试格式化电话号码?您可以使用DecimalFormat,定义消息格式,并使用原始字符串的子字符串创建字符串[]。我会使用replaceAll String test = "1112223333"; System.o

在这种情况下,我需要在UI中显示一个带有空格的字符串。这是为了更好的可读性


例如,如果我的数据是“1234567890”,我希望将其显示为“1234567890”。我想知道是否可以使用Java的字符串格式方法来实现这一点?

不,您必须实现自己的代码。有关字符串API,请参阅。

您似乎正在尝试格式化电话号码?您可以使用
DecimalFormat
,定义消息格式,并使用原始字符串的子字符串创建
字符串[]

我会使用replaceAll

String test = "1112223333";
System.out.println(test.replaceAll("(.{3})(.{3})(.{4})", "$1 $2 $3"));
它使用正则表达式
(.{3})(.{3})(.{4})
这个
{x}
匹配任何东西。
{x}
是次数。我将它括在括号
(.{3})
中,以捕获与$1、2和$3匹配的字符串


所以$1=“111”、$2=“222”和$3=“3333”

是的,您可以使用String.format()来完成 首先,您可以将字符串拆分为一个数组

a[0]=“123”

a[1]=“456”

a[2]=“7890”

然后使用以下命令

String.format("%1$3s %2$3s %3$3s",a );

您可以使用StringBuilder来实现它-我编写了一个实用方法,它将“返回plainString.substring(0,3)++”“+plainString.substring(3,6)++”“+plainString.substring(6,10)”;“这并不漂亮,但我猜这是什么$1,$2等?我更新了它。当您在正则表达式中使用括号时,它捕获匹配的字符串并存储在$1、$2、$3。。。对于正则表达式中的as mathing
()
。整个字符串也存储在$0中。