0

我有一个包含很多单词的字符串。
必须根据位置显示单词。

例子,

   String str = "Australia Canberra Adellide ";

上面的字符串应该是,

澳大利亚应该从 0 开始,到 20 结束

堪培拉应该从 20 开始,到 30 结束

阿德利德应该从 30 开始,到 50 结束

我将在 jtextarea 中显示

java中有没有可用的格式化程序?还是应该使用填充?

4

3 回答 3

1

这个例子很难理解:Canberra 和 'Adellide' 的长度相同,那么为什么 Canberra 只有 10 个字符,而 Adellide 却有 20 个字符?

无论如何,您可以使用格式化程序吗?如果需要,您可以拆分包含列表的输入字符串。

于 2012-09-06T23:43:28.890 回答
1

像这样?

String str = String.format("%20s%10s%20s", "Australia", "Canberra", "Adellide");

或者,如果您想要左对齐:

String str = String.format("%-20s%-10s%-20s", "Australia", "Canberra", "Adellide");
于 2012-09-06T23:55:35.003 回答
1

String.format()您可以使用%-ns格式说明符填充字符串。

String s = String.format("%-20s%-10s%-20s","Hello","to","you.");
// "Hello               to        you.                "

如果您想在单个字母之间散布字母,最好的选择可能是一个简单的正则表达式(即,s.replaceAll(".", "$0 "))。

于 2012-09-06T23:55:49.873 回答