總結(jié)的5個(gè)C#字符串操作方法分享
字符串操作是C#中最基本的、最常見(jiàn)的、也是用的最多的,以下我總結(jié)了幾種常見(jiàn)的方法:
1.把字符串按照分隔符轉(zhuǎn)換成 List
/// <summary>
/// 把字符串按照分隔符轉(zhuǎn)換成 List
/// </summary>
/// <param name="str">源字符串</param>
/// <param name="speater">分隔符</param>
/// <param name="toLower">是否轉(zhuǎn)換為小寫</param>
/// <returns></returns>
public static List<string> GetStrArray(string str, char speater, bool toLower)
{
var list = new List<string>();
var ss = str.Split(speater);
foreach (var s in ss)
{
if (string.IsNullOrWhiteSpace(s) || s == speater.ToString(CultureInfo.InvariantCulture)) continue;
var strVal = s;
if (toLower)
{
strVal = s.ToLower();
}
list.Add(strVal);
}
return list;
}
2.把字符串轉(zhuǎn) 按照, 分割 換為數(shù)據(jù)
/// <summary>
/// 把字符串轉(zhuǎn) 按照, 分割 換為數(shù)據(jù)
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string[] GetStrArray(string str)
{
return str.Split(new[] { ',', ',' });
}
3.得到數(shù)組列表以逗號(hào)分隔的字符串
/// <summary>
/// 得到數(shù)組列表以逗號(hào)分隔的字符串
/// </summary>
/// <param name="list"></param>
/// <param name="speater"></param>
/// <returns></returns>
public static string GetArrayStr(List<string> list, string speater)
{
var sb = new StringBuilder();
for (var i = 0; i < list.Count; i++)
{
if (i == list.Count - 1)
{
sb.Append(list[i]);
}
else
{
sb.Append(list[i]);
sb.Append(speater);
}
}
return sb.ToString();
}
4.得到字符串長(zhǎng)度
/// <summary>
/// 得到字符串長(zhǎng)度
/// </summary>
/// <param name="inputStr"></param>
/// <returns></returns>
public static int StrLength(string inputStr)
{
var asc = new ASCIIEncoding();
var s = asc.GetBytes(inputStr);
return s.Sum(t => t == 63 ? 2 : 1);
}
5.截取指定長(zhǎng)度字符串
/// <summary>
/// 截取指定長(zhǎng)度字符串
/// </summary>
/// <param name="inputString"></param>
/// <param name="len"></param>
/// <returns></returns>
public static string CutStr(string inputString, int len)
{
var isShowFix = false;
if (len % 2 == 1)
{
isShowFix = true;
len--;
}
var ascii = new ASCIIEncoding();
var tempLen = 0;
var tempString = "";
var s = ascii.GetBytes(inputString);
for (var i = 0; i < s.Length; i++)
{
tempLen += s[i] == 63 ? 2 : 1;
try
{
tempString += inputString.Substring(i, 1);
}
catch
{
break;
}
if (tempLen > len)
break;
}
var mybyte = Encoding.Default.GetBytes(inputString);
if (isShowFix && mybyte.Length > len)
tempString += "…";
return tempString;
}
暫時(shí)就這五種方法了。
相關(guān)文章
C#快速實(shí)現(xiàn)IList非泛型類接口的自定義類作為數(shù)據(jù)源
本文主要介紹了C#快速實(shí)現(xiàn)IList非泛型類接口的自定義類作為數(shù)據(jù)源,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
基于C#設(shè)計(jì)一個(gè)雙色球選號(hào)工具
這篇文章主要為大家詳細(xì)介紹了如何利用C#設(shè)計(jì)實(shí)現(xiàn)一個(gè)雙色球選號(hào)工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
C#中DataTable實(shí)現(xiàn)篩選查詢的示例
本文主要介紹了C#中DataTable實(shí)現(xiàn)篩選查詢的示例,主要是DataTable進(jìn)行過(guò)濾篩選,常用的一些方法為:Select,dataview,具有一定的參考價(jià)值,感興趣的可以了解一下2023-04-04
Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)屏幕遮罩
這篇文章主要為大家詳細(xì)介紹了Unity3D Shader實(shí)現(xiàn)動(dòng)態(tài)屏幕遮罩效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
C#實(shí)現(xiàn)將CSV轉(zhuǎn)為XLSX文件
Microsoft?Excel的XLSX格式以及基于文本的CSV(逗號(hào)分隔值)格式,是數(shù)據(jù)交換中常見(jiàn)的文件格式,本文主要介紹了如何在C#中以編程的方式將CSV文件轉(zhuǎn)化為XLSX?文件,需要的可以參考下2024-03-03
使用VS2010 C#開(kāi)發(fā)ActiveX控件(下),完整代碼打包下載
我們介紹了開(kāi)發(fā)、打包、發(fā)布、使用ActiveX控件的全過(guò)程。在演示程序中,我們沒(méi)有調(diào)用串口通信和讀卡器Dll程序,由于我們讀卡器的原始Dll是使用其它語(yǔ)言進(jìn)行開(kāi)發(fā)的,對(duì)C#來(lái)說(shuō),是非托管代碼,因此我們還需要在代碼級(jí)別進(jìn)行非托管代碼的安全性設(shè)置2011-05-05
C#使用iTextSharp封裝的PDF文件操作類實(shí)例
這篇文章主要介紹了C#使用iTextSharp封裝的PDF文件操作類,實(shí)例分析了C#操作pdf文件的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03

