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 に答える