首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个有关问题很有意思,大家看看如何解决~

2012-03-29 
一个问题很有意思,大家看看怎么解决~~有两个textbox,还有一个button。要求写一个类:TextFind包含一个方法:p

一个问题很有意思,大家看看怎么解决~~
有两个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

[解决办法]
这不就是一个字符串的查找吗

[解决办法]
不难,就是麻烦

C# code
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;}
[解决办法]
路过

热点排行