以“Google”风格方式拆分字符串

时间:2010-10-08 04:13:29

标签: c# .net parsing string split

我正在尝试创建一个将字符串拆分为搜索词的函数。使用此代码可以正常工作:

string TestString = "This is a test";
string[] Terms;
Terms = TestString.Split(" ");

这会将我的字符串分成4个字符串:“This”,“is”,“a”,“test”。 但是,我希望将引号括起来的单词视为一个单词:

string TestString = "This \"test will\" fail";
string[] Terms;
Terms = TestString.Split(" ");

这会将我的字符串分成4个字符串,再次:“这个”,“\”测试“,”将“\”,“失败”

我想要的是将最后一个字符串拆分为3个字符串:“This”,“test will”,“fail”

任何人都知道如何做到这一点?

1 个答案:

答案 0 :(得分:3)

尝试使用正则表达式:

var testString = "This \"test will\" fail";
var termsMatches = Regex.Matches(testString, "(\\w+)|\"([\\w ]+[^ ])\"");