gpt4 book ai didi

c# - 如何检查字符串是否包含列表/数组中的任何字符串

转载 作者:行者123 更新时间:2023-11-30 20:51:23 25 4
gpt4 key购买 nike

我目前有一个 ASP.Net 网站。本网站从不同来源检索 RSS-Feed 并输出自己的 RSS-Feed。但是,如果文章中包含某些词,则必须将其“涂黑”(您可能会说审查制度)。这些词包含在由该 ASP.Net 网站管理的黑名单中。

我目前的解决方案:

foreach (SyndicationItem rssItem in syndFeed.Items.OrderByDescending(x => x.PublishDate).ToList())
{
//if is on blacklist
bool isValid = true;
foreach (String blacklistItem in MyBlacklist)
{
if(rssItem.Title.Text.contains(blacklistItem))
isValid = false;
if(rssItem.Summary.Text.contains(blacklistItem))
isValid = false;
}

if (isValid)
{
writer.WriteStartElement("item");

//Write Elements
writer.WriteElementString("PubDate", rssItem.PublishDate.ToString("yyyy-MM-dd HH:mm:ss"));
writer.WriteElementString("title", rssItem.Title.Text);
writer.WriteElementString("description", rssItem.Summary.Text);
writer.WriteElementString("link", rssItem.Id.ToString());

writer.WriteEndElement();
}
}

问题:是否有更高效的方法来执行此搜索?如何使用 LINQ/任何其他字符串操作更简单地编写以下代码?

    foreach (String blacklistItem in MyBlacklist)
{
if(rssItem.Title.Text.contains(blacklistItem))
isValid = false;
if(rssItem.Summary.Text.contains(blacklistItem))
isValid = false;
}

基于以下 Java 示例:

Checking if a string contains any of the strings in an array

How to check string with array of strings in java?

Test if a string contains any of the strings from an array

最佳答案

bool isValid = !myBlackList.Any(s=> rssItem.Title.Text.contains(s) || rssItem.Summary.Text.Contains(s))

或者

bool isValid = myBlackList.All(s=> !rssItem.Title.Text.Contains(s) && !rssItem.Summary.Text.Contains(s))

关于c# - 如何检查字符串是否包含列表/数组中的任何字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21723668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com