我编写了这段代码来查看字符串中的每个参数。 字符串如下所示:“render :: rectangle(0,0,200,200,Red,2)” 这是我的代码:
if (line.StartsWith("render::rectangle(")) {
foreach(string parameterItem in line.Split('(', ')')) {
string parameterIt = parameterItem;
int posX = 0;
int posY = 0;
int width;
int height;
string colour = "White";
int borderThickness = 0;
int paramNum = 0;
foreach(string parameter in parameterItem.Split(',')) {
paramNum++;
string param = parameter;
}
}
}
这会返回“render :: rectangle”,为什么Split()不能用于此字符串?请帮忙。
答案 0 :(得分:1)
你可以试试这个:
foreach (string parameterItem in line.Substring(18, line.Length - 18).Split(','))
在第一个循环中,结果字符串为:
0, 0, 200, 200, Red, 2
这是您可以专门应用拆分的时间:
Split(',')
现在,如果您的字符串正在更改或动态,您可以获取startwith的长度,然后将其放在子字符串中,例如:
int startLength = @"render::rectangle(".Length;
foreach (string parameterItem in line.Substring(startLength, line.Length - startLength).Split(','))