VB.NET 比较两个字符串的完全匹配或部分匹配

VB.NET Compare two string for full or partial match

如何以编程方式比较两个字符串的完全匹配或部分匹配。

我可能有一个名为“ItemName”的字符串,例如“003.00.112.0”,还有一个字符串我正在尝试将其与名为“ItemNameToFind”的字符串进行比较,例如“001...**.*" 其中" * "是一个未知的空白点。

到目前为止我发现它是某种需要正确比较字符串的 if 语句。

If ItemName = ItemNameToFind Then
    MsgBox("Item " & ItemName & " was found based on " & ItemNameToFind)
End If

在上面的示例中,由于字符串中的前三个符号,它会 return 不匹配。

有人可以帮助编写代码以按照我的解释正确实现吗?

在 VB.NET 中您可以使用 Like operator:

 Dim ItemName = "001.00.112.0"
 Dim ItemNameToFind = "001.??.???.?"

 If ItemName Like ItemNameToFind Then
     Console.Write("Item " & ItemName & " was found based on " & ItemNameToFind)
 Else
   Console.Write("not found")
End If

请注意,我已将您的 * 替换为 ?,因为这意味着“任何单个字符”。

?   Any single character
*   Zero or more characters
#   Any single digit (0–9)
[charlist]  Any single character in charlist
[!charlist] Any single character not in charlist