我有一个var长度的字符串,例如" 0009000A000B000C"我希望在每4个章程或每个第二个章程中拆分它,我希望将结果值放在一个新的字符串中。
var str1= 0009;
var str2= 000A;
var str3= 000B;
var str4= 000C;
我试过这段代码:
var str = "0009000A000B000C";
var splitgroup2 = ChunksUpto(str , 4);
static IEnumerable<string> ChunksUpto(string str, int maxChunkSize)
{
for (var i = 0; i < str.Length; i += maxChunkSize)
yield return str.Substring(i, Math.Min(maxChunkSize, str.Length - i));
}
但我不知道如何将返回的值放在不同的字符串中 使用我希望做的新字符串值:
dataGrid2.Rows.Add(modbusadd_dec, poiterlangrow1_dec, poiterlangrow2_dec, opt_dec, rangemin_dec + "-" + rangemax_dec, Nunit_dec, Nperfix_dec, Dunit_dec, Dprefix_dec, grouptype, splitgroup2);
答案 0 :(得分:3)
var str = "0009000A000B000C";
var splitgroup2 = ChunksUpto(str , 4);
public string[] ChunksUpTo(string str, int count)
{
if(count == 0)
return null;
List<string> result = new List<string>();
int chunkCount = str.Length / count;
for(int i = 0; i < temp; i++)
result.Add(new string(str.Take(count).ToArray()))
return result.ToArray();
}
我没有测试这段代码,但它看起来应该是这样的, 您可以使用此代码,增强它并修复错误(如果退出)
答案 1 :(得分:0)
您可以为此创建方法:
static string[] SplitInto(string value, int startIndex, int length)
{
List<string> result = new List<string>();
for(; startIndex + length < value.Length; startIndex += length)
result.Add(valuel.Substring(startIndex, length));
return result.ToArray();
}
并使用它:
string[] str = SplitInto("0009000A000B000C", 0, 3);