• C#如何实现字符串换行功能?
  • 发布于 2个月前
  • 532 热度
    0 评论

前言:

我们在开发系统时有时输入的文本很长,需要按某个固定宽度进行换行,比如每100个字符串就需要重新换一行,那用C#该如何实现呢?

换行功能代码:

static void Main(string[] args)
{
    Console.WriteLine(WrapText("HelloWord", 2));
    Console.Read();
}
 
/// <summary>
/// 堆代码 duidaima.com
/// 字符串文本换行
/// <para>
/// eg:WrapText("HelloWord", 2);==>"He\r\nll\r\noW\r\nord"
/// </para>
/// </summary>
/// <param name="input">传入文本</param>
/// <param name="width">每行宽度, 每多少字符换行</param>
/// <returns></returns>
public static string WrapText(string input, int width)
{
    // 获取字符串长度
    int length = input.Length;
    StringBuilder sb = new StringBuilder(input);
    if (width > 0 && length > width)
    {
        // 计算需要阻断字符长度
        int breakLength = sb.Length / width;
        for (int i = 0; i < breakLength; i++)
        {
            // 计算插入位置
            int insertPosition = i * width;
            if (insertPosition != 0)
            {
                int offset = (i - 1) * 2;
                sb.Insert(insertPosition + offset, Environment.NewLine);
            }
        }
    }
 
    return sb.ToString();
}

总结:

以上就是C#实现的堆字符串按固定长度换行的功能代码。

用户评论