使用通配符比较两个字符串

1 vb.net

我想比较两个字符串。由于常用词“hello”,我希望能够说 s1 等于 s2。关于如何在有或没有其他功能的情况下实现这一目标有什么建议吗?

s1: hello
s2: hello world

if s1 = s2 then
       ..do something
else
       ..do something
end if
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 5

听起来好像你想比较子字符串,你可以使用String.Contains

\n\n
Dim s1 = "hello"\nDim s2 = "hello world"\n\nDim s2ContainsHello As Boolean = s2.Contains(s1) \' True\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者(如果你想忽略这种情况)String.IndexOf如果没有找到则返回 -1:

\n\n
s2 = "Hello World"\ns2ContainsHello = s2.IndexOf(s1, StringComparison.InvariantCultureIgnoreCase) >= 0 \' Still True\n
Run Code Online (Sandbox Code Playgroud)\n\n

VB.NET 中的第三个选项是使用Like运算符(默认情况下也是区分大小写的):

\n\n
s2ContainsHello = s2 like "*" & s1 & "*"\n
Run Code Online (Sandbox Code Playgroud)\n\n

- 运算Like支持通配符:

\n\n
Characters in pattern    Matches in string\n?                        Any single character\n*                        Zero or more characters\n#                        Any single digit (0\xe2\x80\x939)\n[charlist]               Any single character in charlist\n[!charlist]              Any single character not in charlist\n
Run Code Online (Sandbox Code Playgroud)\n