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);

当然这样写效率不会太高,我们可以使用先把字符串变成字符数组后在进行组合
