vb.net如何检查字符串是否有某个单词

时间:2013-02-26 23:52:08

标签: regex vb.net string

我想检查一个字符串是否与数组中的单词匹配,而不仅仅是匹配字符。 contains方法只检查匹配字符而不是整个单词。这是我的代码:

 Dim builder As New StringBuilder()
    Dim reader As New StringReader(txtOCR.Text)
    Dim titles() As String = {"the", "a", "an", "of"}
    Dim regex As New Regex(String.Join("|", titles), RegexOptions.IgnoreCase)

    While True
        Dim line As String = reader.ReadLine()
        If line Is Nothing Then Exit While
        Dim WordCount = New Regex("\w+").Matches(line).Count

        If WordCount = 1 And Not line.ToLower().Contains("by") Then
            builder.AppendLine(line)
        ElseIf regex.IsMatch(line) Then
            builder.AppendLine(line)
        End If

    End While
    txtTitle.Text = builder.ToString()

1 个答案:

答案 0 :(得分:3)

您可以使用单词边界\b围绕单个单词:

New Regex("\b" & String.Join("\b|\b", titles) & "\b")