我正在尝试解析如下字符串:
string myString = "Value: 1234567_89042, Value1: gh, Value2: New 1";
为此,我正在尝试获取以下值:
1234567_89042
gh
New 1
从技术上讲,我有一个解决方案,将myString存储在数组中,然后使用分号将字符串拆分为数组的不同段,如下所示:
string[] words = myString.Split(',', ':', ' ', '_');
Console.WriteLine(myString.First());
int count = 0;
foreach (var word in words)
{
System.Console.WriteLine($"{word}");
count++;
}
我想知道,是否有一种方法不将字符串存储到数组中以获得那些指定的值,还是我需要继续通过数组进一步解析它以获得值?
请尝试以下代码,确保可以使用。
string myString = "Value: 1234567_89042, Value1: gh, Value2: New 1";
string[] str = myString.Split(",");
foreach(string s in str)
{
string s1 = s.Split(":")[1].Trim();
Console.WriteLine(s1);
}
我尝试了上面的代码,它对我来说很完美!
还有一个建议,我使用LINQ简化了上面的代码,请参见下文
static void Main()
{
string myString = "Value: 1234567_89042, Value1: gh, Value2: New 1";
string[] str = myString.Split(",").Select(c => c.Split(":")[1].Trim()).ToArray();
foreach(string s in str)
{
Console.WriteLine(s);
}
}
这个也不错!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句