我想检查一个字符串是否与数组中的单词匹配,而不仅仅是匹配字符。 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()
答案 0 :(得分:3)
您可以使用单词边界\b
围绕单个单词:
New Regex("\b" & String.Join("\b|\b", titles) & "\b")