我正在尝试创建一个将字符串拆分为搜索词的函数。使用此代码可以正常工作:
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”
任何人都知道如何做到这一点?
答案 0 :(得分:3)
尝试使用正则表达式:
var testString = "This \"test will\" fail";
var termsMatches = Regex.Matches(testString, "(\\w+)|\"([\\w ]+[^ ])\"");