0

次の形式で出力したい非常に長い文字列があります。

最大5行を維持し、残りを破棄しながら、1行あたり最大40文字を出力する必要があります。これは、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());問題なく動作しますが、Webサービステスターを使用すると、ブラウザーに1行が返されますが、これは私が達成したかったことではありません

4

3 に答える 3

2

これらの種類の操作には Guava ライブラリを使用することもできます。スプリッターをご覧ください

また、このような質問が山ほどあるので、事前にウェブサイトで検索してみてください:)

于 2012-08-24T14:38:44.757 に答える
1

私はあなたがこれを行う必要があると思います....

result = result + sb.toString();

これを行うresult = sb.toString();と、結果が新しい String オブジェクトを指すようになり、以前の String オブジェクトへの参照が失われます。

result = result + sb.toString();あなたを使用すると、まだ新しい文字列オブジェクトを指していますが、今回は新しい文字列オブジェクトに以前と現在の文字列があります。

于 2012-08-24T14:33:54.590 に答える
1

ブラウザでページのソースを表示すると、行が分割されていますか? <br>その場合、改行をタグ に置き換える必要があります。

于 2012-08-24T15:11:00.140 に答える