一个问题很有意思,大家看看怎么解决~~
有两个textbox,还有一个button。
要求写一个类:TextFind
包含一个方法:public bool find(string keywords,string text)
-----------------------
结果:
如果keywords包含在text中,则返回true,否则false。
-----------------------
keywords 可以用 + 或者 - 号进行多个单词的组合。
譬如:
abc+123,就是说text中如包含abc 也要包含123的话,则返回true
bbc+fff+fff 同理
abc+123-fff,就是说text中 如包含abc,也包含123,但是不包含fff的话,则返回true。
复杂的同理: abcdef+123fdf+343-fff-3343
[解决办法]
mark
[解决办法]
这不就是一个字符串的查找吗
[解决办法]
不难,就是麻烦
public bool find(string keywords, string text){ List<string> incList = new List<string>(); List<string> excList = new List<string>(); if (keywords.IndexOf("-") > -1) { string incKeys = keywords.Substring(0, keywords.IndexOf("-")); string excKeys = keywords.Substring(keywords.IndexOf("-") + 1); if (keywords.IndexOf("+") > -1) { if (incKeys.IndexOf("+") > -1) incList = new List<string>(incKeys.Split('+')); else incList.Add(incKeys); } if (excKeys.IndexOf("-") > -1) excList = new List<string>(excKeys.Split('-')); else excList.Add(excKeys); } else { if (keywords.IndexOf("+") > -1) incList = new List<string>(keywords.Split('+')); else incList.Add(keywords); } if (incList.Count > 0) { foreach (string s in incList) { if (text.IndexOf(s) == -1) return false; } } if (excList.Count > 0) { foreach (string s in excList) { if (text.IndexOf(s) > -1) return false; } } return true;}
[解决办法]
路过