C# 如何获得字符串

C# 如何获得字符串,c#,split,C#,Split,我有一个字符串,比如: "S=35 , P=232 , a=12" 我只想保留“S=“和”、“和”p=“-”、“”a=“,”、“”之间的字符串。我该怎么做?我必须使用正则表达式还是可以用另一种方法?可以实例化stringbuilder,然后将字符串加载到字符数组中。对每个循环执行一次迭代,以遍历数组中的每个字符。如果字符不是数字,请将其添加到stringbuilder。如果是,则跳到下一个字符。完成后,只需执行Stringbuilder.ToString() 您可以尝试Linq并将字符串转换为

我有一个字符串,比如:

"S=35 , P=232 , a=12"

我只想保留
“S=“
”、“
”p=“
-
”、“
”a=“
”、“
”之间的字符串。我该怎么做?我必须使用正则表达式还是可以用另一种方法?可以实例化stringbuilder,然后将字符串加载到字符数组中。对每个循环执行一次迭代,以遍历数组中的每个字符。如果字符不是数字,请将其添加到stringbuilder。如果是,则跳到下一个字符。完成后,只需执行Stringbuilder.ToString()

您可以尝试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());
如果您只想获取数字,即获取
“3523212”
,您可以尝试另一个Linq:

 string result = string.Concat(source.Where(c => c >= '0' && c <= '9'));

string result=string.Concat(source.Where(c=>c>='0'&&c调查string.Split,一旦打开,然后打开=string St=“S=35,P=232,a=12”;int-pFrom=St.IndexOf(“S=”)+“S=”.Length;int-pTo=St.lastinexof(“,”);string result=St.Substring(pFrom,pTo-pFrom);
 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));