(java 1.5)
文字列をバラバラに組み立てる必要があります。(サブ)文字列のセットが与えられます。各文字列には、最終的な文字列のどこに属するかの開始点と終了点があります。これを行うための標準的な方法があるかどうか疑問に思っていました。これは宿題ではありません。jakartacommons-langStringUtilsなどのライセンス可能なOSSを使用できます。
私の会社にはCharBufferを使用したソリューションがあり、そのままにしておくことに満足しています(そして、いくつかの単体テストを追加しますが、その中にはありません(?!))が、コードはかなり恐ろしいので、もっと読みやすいものが欲しいです。 。
私が言ったように、これは宿題ではなく、完全な解決策は必要ありません。私に洞察を与えるかもしれないライブラリまたはJavaクラスへのポインタだけです。String.Formatはかなり正しくないようでした...
入力が長すぎたり短すぎたりすることを尊重する必要があります。サブストリングは、表示される順序でオーバーレイされます(オーバーラップの場合)。
入力の例として、次のようなものがあります。
文字列:開始:終了
FO:0:3(フィールドより短い文字列)
BAR:4:5(フィールドより大きい文字列)
BLEH:5:9(文字列は前のフィールドをオーバーレイします)
最終的には
FO BBLEH
01234567890
(編集:すべての人に-StringBuilder(具体的には、「既知の長さに事前に割り当ててから、.replace()を使用する」テーマ)は私が考えていることのようです。提案してくれたすべての人に感謝します!)