我试图解析字符串,看看“:”后的值是否为整数.如果它不是整数,则从字符串中删除“Test:M”.
这是我的示例字符串.
- string testString = "Test:34,Test:M";
结果我需要testString =“测试:34”
- string[] data = testString.Split(',');
- for (int i = 0; i < data.Length; i++)
- {
- string[] data1 = data[i].Split(':');
- int num = 0;
- if(Int32.TryParse(data1[1],out num))
- {
- }
- }
解决方法
您可以继续使用循环结构,但我个人认为LINQ的外观更好一点:
- var dummy = 0;
- var intStrings =
- testString.Split(',')
- .Where(s => s.Contains(":") && int.TryParse(s.Split(':')[1],out dummy))
- .ToArray();
- var result = String.Join(",",intStrings);