尝试使用正则表达式模式匹配。这是一个 MSDN 链接,应该很有帮助:http:
//support.microsoft.com/kb/308252
一个例子可能会有所帮助。请注意,正则表达式解决方案为您提供了在看到它们时接受更多变体的范围。顺便说一句,我拒绝认为 RegEx 是矫枉过正的想法。我不是专家,但做这样的事情很容易,我确实想知道为什么它没有更频繁地使用。
var regEx = new Regex(
"(?<intro>.+) in (?<city>.+) on (?<locality>.+) in (?<eventDate>.+)"
);
var match = regEx.Match("My event happens in Baltimore on Main Street in 1876.");
if (!match.Success) return;
foreach (var group in new[] {"intro", "city", "locality", "eventDate"})
{
Console.WriteLine(group + ":" + match.Groups[group]);
}
最后,如果性能是一个真正令人担忧的问题(如果不是,请忽略这一点),请在此处查找优化提示。