1

div 内に表示されるフィールドがありますが、問題は、ユーザーが div 内の行の外側に収まる文字数よりも長い文字列を入力した場合、行が改行されないことです。 div。の間にスペースを入れずに20文字以上のシーケンスを持つ「文字列内のすべての単語」にスペースを挿入するにはどうすればよいですか。たとえば、今、私はこのようなことをしています

string words
Regex.Replace(words, "(.{" + 20 + "})", "$1" + Environment.NewLine);

しかし、それはスペースのないシーケンスとは反対に、20 文字ごとに改行を挿入するだけです。私は正規表現があまり得意ではないので、上記のコードは私が見つけたものです。

4

3 に答える 3

2

CSS ソリューションの方がうまくいくでしょうか?

word-wrap:break-word;

例: http://jsfiddle.net/45Fq4/

于 2013-08-05T17:44:03.773 に答える
0

このコードは私のために働いた:

string words
string outputwords = words;
int CharsWithoutSpace = 0;
for (int i = 0; i < outputwords.Length; i++)
{
     if (outputwords[i] == ' ')
     {
         CharsWithoutSpace = 0;
     }
     else
     {
         CharsWithoutSpace++;
         if (CharsWithoutSpace >= 20)
         {
             outputwords = outputwords.Insert(i + 1, Environment.NewLine);
             CharsWithoutSpace = 0;
         }
    }
}
Console.WriteLine(outputwords);
于 2013-08-05T18:00:48.217 に答える