·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> [C#]文字换行

[C#]文字换行

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

关键代码:

     #region 文字换行
        /// <summary>
        /// 文字换行
        /// <para>eg:StringHelper.WrapText("YanZhiwei", 3);==>"Yan\r\nZhi\r\nwei"</para>
        /// </summary>
        /// <param name="data">需要换行的文字</param>
        /// <param name="maxWidth">多少长度换行</param>
        /// <returns>换行好的文字</returns>
        public static string WrapText(this string data, int maxWidth)
        {
            int _stringCount = data.Length;
            if (maxWidth > 0 && _stringCount > maxWidth)
            {
                StringBuilder _builderString = new StringBuilder(data);
                int _breakCount = _builderString.Length / maxWidth;
                for (int i = 0; i < _breakCount; i++)
                {
                    int _insertPosition = i * maxWidth;
                    if (_insertPosition != 0)
                    {
                        int _offset = (i - 1) * 2;//(\r\n)
                        _builderString.Insert(_insertPosition + _offset, Environment.NewLine);
                    }

                }
                return _builderString.ToString();
            }
            else
            {
                return data;
            }
        }
        #endregion

测试:

        [TestMethod()]
        public void WrapTextTest()
        {
            string _actual = StringHelper.WrapText("YanZhiwei", 3);
            Assert.AreEqual<string>(@"Yan
Zhi
wei", _actual);
        }

结果:

image

希望有所帮助!