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
如何以编程方式比较两个字符串的完全匹配或部分匹配。
我可能有一个名为“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