确定句子是否包含特定单词

Sin*_*du_ 5 c# string parsing

我想知道如何在标签中引用一个句子的单词.例如,我有:

label1.text = "books pencil pen ruler";
Run Code Online (Sandbox Code Playgroud)

我想说:"如果label1.text包含单词"pen",那就做一些事情":

if (label1.text CONTAINS THE WORD "pen")
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

Tim*_* S. 10

使用正则表达式字边界:

if (Regex.IsMatch(label1.text, @"\bpen\b"))
    // do something
Run Code Online (Sandbox Code Playgroud)

比检查IndexOf或Splitting更强大.例如,一个简单的IndexOf("pen")匹配"open".试图通过使它IndexOf(" pen ")不匹配来解决这个问题"pen other words".或者,如果你Split(' '),它将无法匹配"This sentence ends in pen.".正如你所期望的那样,正则表达式的单词边界匹配所有这些.您可以拆分更多的单词边界字符,但让Regex类的编写者为您工作更容易,而不是尝试自己理解单词边界.