c# 根据数字拆分字符串
电脑版发表于:2019/2/6 19:19
c# 根据数字拆分字符串,例如传一个2就可以把字符串2位2位的拆分出来
/// <summary> /// 根据数字拆分字符串 /// </summary> /// <param name="key">需要拆分的字符串</param> /// <param name="n">需要按几位拆分(一次取多少位)</param> /// <returns></returns> public List<string> SplitByNum(string key, int n) { List<string> keyword = new List<string>(); int length = key.Length; //如果能除尽(就刚好n位n位的取可以取完) if (length % n == 0) { for (int i = 0; i < length / n; i++) { keyword.Add(key.Substring(n * i, n)); } } else { int mod = length % n;//取出余数,最后一次取的时候用 for (int i = 0; i <= length / n; i++) { if (i == length / n) { keyword.Add(key.Substring(n * i, mod)); } else { keyword.Add(key.Substring(n * i, n)); } } } return keyword; }
测试一下根据2位来拆分:
string key = "Net Core使用EF之DB First"; List<string> keyword = SplitByNum(key, 2);
根据3位来拆分:
string key = "Net Core使用EF之DB First"; List<string> keyword = SplitByNum(key, 3);
当然这样写效率不会太高,我们可以使用先把字符串变成字符数组后在进行组合