返回具有特定字符数的多行字符串

时间:2012-08-24 14:22:40

标签: java web-services soap

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

我需要输出最大字符数,每行40个字符,而我最多保留5行并丢弃其余字符。这应该是webservice(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行,这不是我想要实现的

3 个答案:

答案 0 :(得分:2)

您还可以使用Guava库进行这些操作。看看Splitter

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

答案 1 :(得分:1)

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

result = result + sb.toString();

执行此操作result = sb.toString();时,您将使结果指向一个新的String对象,并且它将丢失对前一个String对象的引用。

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

答案 2 :(得分:1)

如果您在浏览器中查看该页面的来源,这些行是否已拆分?如果是这样,您需要使用<br>标记替换换行符。