1

我想检查字符串是否与数组中的单词匹配,而不仅仅是匹配字符。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()
4

1 回答 1

3

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

New Regex("\b" & String.Join("\b|\b", titles) & "\b")
于 2013-02-26T23:56:09.790 回答