C#區(qū)分中英文按照指定長(zhǎng)度截取字符串的方法
本文實(shí)例講述了C#區(qū)分中英文按照指定長(zhǎng)度截取字符串的方法。分享給大家供大家參考。具體如下:
這段C#代碼用于按照指定的長(zhǎng)度截取字符串,一個(gè)中文字符算2個(gè)字符,按照這個(gè)方法截取的字符串基本可以保持顯示長(zhǎng)度一致
/// <summary> /// 截取文本,區(qū)分中英文字符,中文算兩個(gè)長(zhǎng)度,英文算一個(gè)長(zhǎng)度 /// </summary> /// <param name="str">待截取的字符串</param> /// <param name="length">需計(jì)算長(zhǎng)度的字符串</param> /// <returns>string</returns> public static string GetSubString(string str, int length) { string temp = str; int j = 0; int k = 0; for (int i = 0; i < temp.Length; i++) { if (Regex.IsMatch(temp.Substring(i, 1), @"[\u4e00-\u9fa5]+")) { j += 2; } else { j += 1; } if (j <= length) { k += 1; } if (j > length) { return temp.Substring(0, k) + ".."; } } return temp; }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C# WinForm實(shí)現(xiàn)自動(dòng)更新程序之客戶端的示例代碼
這篇文章主要為大家詳細(xì)介紹了利用C# WinForm實(shí)現(xiàn)自動(dòng)更新程序之客戶端的實(shí)現(xiàn)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2022-10-10淺談C#跨線程調(diào)用窗體控件(比如TextBox)引發(fā)的線程安全問(wèn)題
下面小編就為大家分享一篇淺談C#跨線程調(diào)用窗體控件(比如TextBox)引發(fā)的線程安全問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-11-11C#/VB.NET 實(shí)現(xiàn)在PDF表格中添加條形碼
條碼的應(yīng)用已深入生活和工作的方方面面。在處理?xiàng)l碼時(shí),常需要和各種文檔格式相結(jié)合。本文,以操作PDF文件為例,介紹如何在編輯表格時(shí),向單元格中插入條形碼,需要的可以參考一下2022-06-06Unity實(shí)現(xiàn)鼠標(biāo)點(diǎn)2D轉(zhuǎn)3D進(jìn)行旋轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)鼠標(biāo)點(diǎn)2D轉(zhuǎn)3D進(jìn)行旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04