首页 新闻 会员 周边

关于查找字符串的问题。高手都来看看

0
悬赏园豆:10 [待解决问题]

我现在设置好了些固定的字符串,比如后门,木马这些关键词。我在a.aspx,b.aspx两个文件中查找这些关键词,并记录这些关键词都在哪个文件(是a.aspx還是b.aspx)中出现的。这个怎么做呢。我现在已经查找到a.aspx和b.aspx文件中的内容了,并把内容放到一个textbox中显示出来。就是想找到在哪个文件 中出现的。麻烦各位高手帮忙看下。。。。

天亮说晚安的主页 天亮说晚安 | 菜鸟二级 | 园豆:205
提问于:2010-08-30 10:18
< >
分享
所有回答(3)
0

用正则查找吧

jowo | 园豆:2834 (老鸟四级) | 2010-08-30 10:22
if (Regex.IsMatch(textbox.text,@ "特殊字符")) { //不满足 } else//满足 { }
支持(0) 反对(0) jowo | 园豆:2834 (老鸟四级) | 2010-08-30 10:28
0

文件内容应该是以源码的形式在文本框中的吧,也就是字符串的形式,你用indexof可以查找某个字符串在主字符串中的哪个位置出现,从前还是从后,循环几次就行了。给你发一个辅助方法:

#region 统计字符串出现的次数
/// <summary>
/// 统计字符串出现的次数
/// </summary>
/// <param name="text1">原字符串</param>
/// <param name="text2">要查找的字符串</param>
/// <returns>出现的次数</returns>
public static int StrKeyCount(string text1, string text2)
{
    int total = 0;
    int loact = text1.IndexOf(text2);
    while (loact != -1)
    {
        int loc = text1.IndexOf(text2) + text2.Length;
        int len = text1.Length - loc;
        if (loc != -1)
        {
            text1 = text1.Substring(loc, len);
        }
        loact = text1.IndexOf(text2);
        total++;
    }
    return total;
}
#endregion

Astar | 园豆:40805 (高人七级) | 2010-08-30 10:24
0

用正则吧,效率比字符串查找应该快些的!

var reg=/关键字/g

reg.test(内容)===true则表示含有你的关键字。注意关键字中如果包含正则表达式的特殊字符的话,要转义

dail | 园豆:630 (小虾三级) | 2010-08-30 17:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册