Считывание определенных значений из строки
У меня есть строка, как показано ниже.
set Bond_Type_Bond1 = 0 no_units VAR_E B1_B1_IMP_B1_PRM FULL_ND 0 1 0 0 1 set ProWedge_Type_Bond1 = 0 no_units VAR_E B1_B1_IMP_B1_PRM FULL_ND 0 1 0 0 1 set Bond1_Current_Offset = 0 mAmps USG_CURRENT B1_CU_PROC_RESP_NOWEDGE_B1_PRM FULL -50 50 0 -50 50 set Bond1_Force_Offset = 0.0 grams VAR_E B1_CU_PROC_RESP_NOWEDGE_B1_PRM FULL -50.0 50.0 0.0 -50.0 50.0 set Force_1 = 35.0 grams BFORCE BOND1_FORCE_PRM FULL 0.0 700.0 35.0 0.0 700.0 set Minimum_Force_1 = 5.0 grams BFORCE B1_CUREG_FORCE_LIFT_B1_PRM FULL_HIDDEN 0.0 20.0 5.0 0.0 20.0
Мне нужно прочитать имя и значения и поместить их в список, я могу прочитать имя, но когда дело доходит до значений, я не могу сказать, откуда они начинаются. Обратите внимание, что мне нужны цифры в конце, есть 5 значений, но их может быть больше или меньше
Что я уже пробовал:
int paramNameFrom = s.IndexOf("set", StringComparison.OrdinalIgnoreCase) + "set".Length; int paramNameTo = s.IndexOf("=") + "=".Length; string paramName = s.Substring(paramNameFrom, paramNameTo - paramNameFrom); paramName = paramName.Trim(); int paramValsFrom = s.IndexOf("PRM", StringComparison.OrdinalIgnoreCase) + s.IndexOf(" "); string paramVals = s.Substring(paramValsFrom); string[] refList = { }; refList = paramVals.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries); List<string> paramsValuesList = new List<string>(); foreach (string v in refList) { paramsValuesList.Add(v); } paramDict.Add(paramName, paramsValuesList);