【问题标题】:enter carriage return but don't break a word输入回车但不要断字
【发布时间】:2015-03-22 17:40:58
【问题描述】:

我有一个文本块,我想在每 5 个字符后输入回车符 '\n',我已经做到了,但真正的问题是我不希望回车符破坏任何单词,所以只有回车符插入当有空格且旁边有 5 个字符时。

   StringBuilder s = new StringBuilder();
                char[] t = txtString.ToArray();
                int i = 0;
                foreach (char c in t)
                {
                    s.Append(c);
                    if (i > 4)
                    {
                        s.Append("\n");
                        i = 0;
                    }
                    i++;
                }
return s.ToString();

例如,我的字符串是“在利物浦与曼联的关键冲突之前,我们已经评估了两支球队在球场上的比较,并将他们标记为 10 分”

所以对于这个字符串,'Ahead' 之后的回车是可以的,但是从那里接下来的五个字符回车会破坏 'Liverpool',所以当有空格时不要插入回车来破坏单词 insert。

【问题讨论】:

    标签: c# string


    【解决方案1】:

    您只需要添加另一个条件来检查空间。

    StringBuilder s = new StringBuilder();
                char[] t = txtString.ToArray();
                int i = 0;
                foreach (char c in t)
                {
                    s.Append(c);
                    if (i > 4 && c == ' ')
                    {
                        s.Append("\n");
                        i = 0;
                    }
                    i++;
                }
    return s.ToString();
    

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 2023-03-16
      • 2017-06-03
      • 1970-01-01
      • 2015-07-21
      • 2018-03-17
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      相关资源
      最近更新 更多