總結(jié)的5個(gè)C#字符串操作方法分享
字符串操作是C#中最基本的、最常見的、也是用的最多的,以下我總結(jié)了幾種常見的方法:
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.得到字符串長度
/// <summary>
/// 得到字符串長度
/// </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.截取指定長度字符串
/// <summary>
/// 截取指定長度字符串
/// </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)文章
使用 BenchmarkDotNet 對(duì) C# 代碼進(jìn)行基準(zhǔn)測(cè)試
這篇文章主要介紹了使用 BenchmarkDotNet 對(duì) C# 代碼進(jìn)行基準(zhǔn)測(cè)試,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03
基于Unity Line Renderer組件的常用屬性說明
這篇文章主要介紹了基于Unity Line Renderer組件的常用屬性說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04
C# networkcomms 3.0實(shí)現(xiàn)模擬登陸總結(jié)
這篇文章主要介紹了C# networkcomms 3.0實(shí)現(xiàn)模擬登陸總結(jié),需要的朋友可以參考下2017-06-06
Unity Shader實(shí)現(xiàn)圖形繪制(藍(lán)天白云大海)
這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)圖形繪制,藍(lán)天白云大海,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04

