如何拆分仅包含括号,逗号和3个整数的文本。例如:
View
我还要验证它看起来像上面那样。
答案 0 :(得分:1)
这是一个非正则表达式解决方案,使用字符串方法和LINQ,我更喜欢:
string text = "{5,40,30}";
bool valid = text.StartsWith("{") && text.EndsWith("}");
int[] integers = {};
if (valid)
{
integers = text.Trim('{', '}').Split(',')
.Select(s => s.TryGetInt32())
.Where(nullInt => nullInt.HasValue)
.Select(nullInt => nullInt.Value)
.ToArray();
valid = integers.Length == 3;
}
使用我在LINQ查询中使用的这个方便的扩展方法从Nullabel<int>
获取string
,与int.TryParse
类似,但int?
。
public static int? TryGetInt32(this string item)
{
int i;
bool success = int.TryParse(item, out i);
return success ? (int?)i : (int?)null;
}
答案 1 :(得分:1)