Вы можете попробовать Linq и преобразовать строку в словарь:
string source = "S=35 , P=232 , a=12";
Dictionary<string, string> dict = source
.Split(',')
.Select(line => line.Split('='))
.ToDictionary(items => items[0].Trim(), items => items[1].Trim());
Создав dict
, вы можете легко запросить его:
string p = dict["P"];
if (dict.TryGetValue("a", out var a)) {
// "a" exists, its value in a
}
Если вы хотите получить только цифры, т.е. получить "3523212"
, вы можете попробовать другой Linq:
string result = string.Concat(source.Where(c => c >= '0' && c <= '9'));
Вам не нужно использовать регулярные выражения , но вы можете легко это сделать:
// "35 232 12"
string matches = string.Join(" ", Regex
.Matches(source, "[0-9]+")
.Cast<Match>()
.Select(match => match.Value));