2012-08-24 186 views
0

的具体数目我有一个很长的字符串,我想在下面的格式输出:返回多内衬字符串,字符

我需要输出的最大字符数说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());作品就好了,但是当我的用户web服务测试仪返回浏览器1线,是不是我想实现

+0

它好工作对我来说,还有什么你分配的缓冲区导致并返回它之间做什么? – Vikdor

+0

只是捕捉一些例外。什么可以影响到所有 – kijana

+1

那么输出,为浏览器输出 - 这被解释为HTML - 你需要的''
而不是简单的换行。问题是:在没有浏览器的情况下查看它的样子是什么? –

回答

1

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

+0

+1你真的明白了 – kijana

1

我认为你需要做到这一点... 。

result = result + sb.toString(); 

,当你做到这一点result = sb.toString();那么你正在结果指向一个新的String对象,它失去了参考之前的String对象。

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

+0

使用即使我实现上述'方法测试人员正在此为输出returned' 'java.lang.String中:“同样很长的字符串在浏览器上的一行”' – kijana

2

您还可以使用番石榴库这些类型的操作。看看Splitter

另外,尽量事先在网站上搜索,因为有吨的像这样的:)

+0

这是分裂时,它在OUPUTS的控制台,但我想要在浏览器上输出它没有做的相同结果。 – kijana