Get only Whole Words from a .Contains() statement

后端 未结 4 524
再見小時候
再見小時候 2020-12-20 15:09

I\'ve used .Contains() to find if a sentence contains a specific word however I found something weird:

I wanted to find if the word "hi" was present in a se

4条回答
  •  鱼传尺愫
    2020-12-20 15:54

    You could split your sentence into words - you could split at each space and then trim any punctuation. Then check if any of these words are '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);
    

    See a working demo here: https://dotnetfiddle.net/AomXWx

提交回复
热议问题