C# 从文本文件读取黑名单URL
因此,我正在编写一个IRC机器人,理论上可以从blacklist.txt读取,如果匹配,应该禁止用户。但是,我在解析用户输出的文本时遇到问题 在黑名单上说我有: www.google.com 当我输入时:它应该阅读黑名单并返回我的禁止信息,但它只是将其作为一个敏感的东西来阅读,因此如果我的文本不包含www.google.com,它将完全忽略它 这是我用来侦查的资料C# 从文本文件读取黑名单URL,c#,C#,因此,我正在编写一个IRC机器人,理论上可以从blacklist.txt读取,如果匹配,应该禁止用户。但是,我在解析用户输出的文本时遇到问题 在黑名单上说我有: www.google.com 当我输入时:它应该阅读黑名单并返回我的禁止信息,但它只是将其作为一个敏感的东西来阅读,因此如果我的文本不包含www.google.com,它将完全忽略它 这是我用来侦查的资料 public static bool isUrlBlacklisted(String value) {
public static bool isUrlBlacklisted(String value)
{
string[] url = File.ReadAllText("blacklist.txt")
.Split().Where(x => x.Contains(value))
.Distinct().ToArray();
return url.Contains(value);
}
尝试:
我认为这很正常,因为www.google.com!=你应该将谷歌添加到你的文件中。为什么不删除http://或www,只比较google.com或which.org?无论是在文件中还是在代码中,如果您没有对文件内容的控制权,我尝试过,那么它不会拾取任何内容。Replacehttp:,.Replace/;替换完所有这些部分后,是否可以转储url数组的值和内容,以便我们查看它们各自包含的内容?方法“Exists”的重载不包含1个参数。修复了我的答案。抱歉:所以我试过了,问题是它仍然只接受一个答案。在我的黑名单上,我有“youtube.com”,当我进入聊天室并键入youtube.com时,它可以工作,但如果我添加http://或任何变体,它就不会出现。
string[] url = File.ReadAllText("blacklist.txt")
.Split();
Array.Exists(url, x => x.Contains(value));