如何确定字符串上的组数据(Delimeter)
本文关键字:数据 Delimeter 何确定 字符串 | 更新日期: 2023-09-27 18:05:47
我有这个字符串数据如下:-
mydata="KK,23,45,33,56,66,X/TT,01,23,23,56,Y/"
让我提醒一下,这个字符串数据可以是多个组,其中它由这个字符/
分开。
Ok。现在,我需要从上面的组数据字符串中更具体地切片,以在循环组数据时推送它,像这样:-
While Loop (Group i++)
'// first 3 items
等:"KK,23,45"发送到功能A
'// 2 items after that
等:"33,56"发送到功能B
'// last 2 items
etc: "66,X"发送给函数C
'// remove this charater "/" before continue next group data
i=i+1
Loop
我不知道如何像上面的while循环那样切片。你有解决这个问题的办法吗?提前感谢您的阅读并回复我的问题
看起来您可以从String中获益。分离方法:
- 用"/"分割原始字符串以获得您的三个项目
- 将每个部分用","分开,以获得要发送到方法A, B和C的单个项目
试一试:
string[] groups = mydata.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries);
foreach (string item in groups)
{
string[] InnerGroup = item.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
SendToFunctionA(InnerGroup[0] + "," + InnerGroup[1] + "," + InnerGroup[2]);
SendToFunctionB(InnerGroup[3] + "," + InnerGroup[4]);
SendToFunctionC(InnerGroup[5] + "," + InnerGroup[6]);
}
Or by While循环:
string[] groups = mydata.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries);
int i = 0;
while(i < groups.Length)
{
string[] InnerGroup = groups[i].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
SendToFunctionA(InnerGroup[0] + "," + InnerGroup[1] + "," + InnerGroup[2]);
SendToFunctionB(InnerGroup[3] + "," + InnerGroup[4]);
SendToFunctionC(InnerGroup[5] + "," + InnerGroup[6]);
i++;
}
以上代码忽略空值。
如果组的值为空,可以使用下面的代码:
string[] groups = mydata.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries);
int i = 0;
while(i < groups.Length)
{
string[] InnerGroup = groups[i].Split(new char[] { ',' });
SendToFunctionA(InnerGroup[0] + "," + InnerGroup[1] + "," + InnerGroup[2]);
SendToFunctionB(InnerGroup[3] + "," + InnerGroup[4]);
SendToFunctionC(InnerGroup[5] + "," + InnerGroup[6]);
i++;
}