0

我有一个很长的字符串,我想以以下格式输出:

我需要输出最大数量的字符,例如每行 40 个,而我最多保持 5 行并丢弃其余的。这应该是 Web 服务 (SOAP) 的返回字符串。

这是我试图实现的一个片段。

String output = "A veeery long string with more than 200 characters";

StringBuilder sb = new StringBuilder(output);
int i = 0;
while ((i = sb.indexOf(" ", i + 40)) != -1)
{
    sb.replace(i, i + 1, "\n");
}
System.out.println(sb.toString());

result = sb.toString();
...

return result;

现在System.out.println(sb.toString());工作正常,但是当我使用 webservice 测试器时,它在浏览器上返回 1 行,这不是我想要实现的

4

3 回答 3

2

您还可以将 Guava 库用于这些类型的操作。看看拆分器

另外,请尝试事先在网站上搜索,因为有很多这样的问题:)

于 2012-08-24T14:38:44.757 回答
1

我认为你需要这样做......

result = result + sb.toString();

当你这样做时,你result = sb.toString();将 result 指向一个新的 String 对象,并且它失去了对前一个 String 对象的引用。

使用result = result + sb.toString();仍然指向一个新的字符串对象,但是这次新的字符串对象具有以前的和当前的字符串。

于 2012-08-24T14:33:54.590 回答
1

如果您在浏览器中查看页面的源代码,是否会拆分行?如果是这样,您将需要用<br>标签替换换行符。

于 2012-08-24T15:11:00.140 回答