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));