4

私が探しているものをできる限り説明しようと思います。現在、このコードを使用して x 文字ごとに改行しています。

public static string SpliceText(string text, int lineLength)
    {
        return Regex.Replace(text, "(.{" + lineLength + "})", "$1" + Environment.NewLine);

    }

これはうまく機能しますが、多くの場合、すべての x 番号が壊れてしまい、明らかに単語が壊れてしまうこともあります。コードが単語の途中で壊れているかどうかをチェックし、単語の途中ではない場合はとにかくブレークするが、ブレークの後の最初の文字がスペースであるかどうかをチェックし、そうであれば削除することは可能ですか?

私はたくさんのことを求めていることを知っていますが、とにかく事前に感謝します!

4

1 に答える 1

14

これを試して:

public static string SpliceText(string text, int lineLength)
{
    var charCount = 0;
    var lines = text.Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries)
                    .GroupBy(w => (charCount += w.Length + 1) / lineLength)
                    .Select(g => string.Join(" ", g));

    return String.Join("\n", lines.ToArray());
}

これが私のスクリーンショットです: ここに画像の説明を入力

于 2013-05-24T04:00:58.293 に答える