字符串每3个字新行

时间:2014-06-16 09:58:52

标签: java string

我有一个程序和标题说我想分割一个字符串 我从数据库中剔除我不确切知道包含每个字符串的内容  例如

String locat = "london BLANCHE CAFE ET COCKTAIL BAR"

我希望输出为

第一行"伦敦BLANCHE CAFE"和secont line" ET COCKTAIL BAR"

4 个答案:

答案 0 :(得分:3)

许多方法可以做到这一点。只是一个随机的简单逻辑

String locat = "london BLANCHE CAFE ET COCKTAIL BAR";
int count =0;
StringTokenizer s = new StringTokenizer(locat);

while (s.hasMoreTokens()) {
         count++;
         System.out.print(s.nextToken() + " ");
         if(count%3==0)System.out.println();
     }

答案 1 :(得分:3)

你可以这样做:

final String locat = "london BLANCHE CAFE ET COCKTAIL BAR";
final String[] words = locat.split(" ");
final StringBuilder newLocat = new StringBuilder();

for (int i = 0; i < words.length; i++) {
    if ((i > 0) && (0 == (i % 3))) {
        newLocat.append('\n');
    }

    newLocat.append(words[i]);

    if (i != (words.length - 1)) {
        newLocat.append(' ');
    }
}

System.out.println(newLocat);

答案 2 :(得分:1)

使用正则表达式的非常简单的解决方案:

    String newLocat = locat.replaceAll("((?:\\w+\\s){2}\\w+)(\\s)", "$1\n");

答案 3 :(得分:0)

您可以为字符串"\n"

添加换行符

String locat = "london BLANCHE CAFE \nET COCKTAIL BAR"