加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 从.Contains()语句中仅获取整个单词

发布时间:2020-12-15 19:57:59 所属栏目:百科 来源:网络整理
导读:我用.Contains()来查找一个句子是否包含一个特定的单词但是我发现了一些奇怪的东西: 我想找出一个句子中是否有“hi”这个词如下: The child wanted to play in the mud Hi there Hector had a hip problem if(sentence.contains("hi")){ //} 我只想要过滤
我用.Contains()来查找一个句子是否包含一个特定的单词但是我发现了一些奇怪的东西:

我想找出一个句子中是否有“hi”这个词如下:

The child wanted to play in the mud

Hi there

Hector had a hip problem

if(sentence.contains("hi"))
{
   //
}

我只想要过滤第二句,但是所有3个都被过滤了,因为CHILD里面有一个’hi’,而hip中有一个’hi’.我如何使用.Contains()这样只挑出整个单词?

解决方法

您可以将句子分成单词 – 您可以在每个空格处分割,然后修剪任何标点符号.然后检查这些单词中的任何一个是否为“hi”:

var punctuation = source.Where(Char.IsPunctuation).Distinct().ToArray();
var words = sentence.Split().Select(x => x.Trim(punctuation));
var containsHi = words.Contains("hi",StringComparer.OrdinalIgnoreCase);

请在此处查看工作演示:https://dotnetfiddle.net/AomXWx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读