0

如何让我的程序检查字符串是否以 VB.NET 中的某些内容开头?

例如:

dim examplestr as string
examplestr = textbox1.text
if examplestr = ("www." + %something%) then
examplestr = ("http://" + examplestr)
elseif examplestr = ("http://" + %something%) then
else
if examplestr = (%something%) then
examplestr = ("http://www." + examplestr
end if
4

4 回答 4

7

简单的:

    Dim examplestr As String = "www.example.com"
    Select Case True
        Case examplestr.StartsWith("http://", StringComparison.OrdinalIgnoreCase)
            ' Do nothing?
        Case examplestr.StartsWith("www.", StringComparison.OrdinalIgnoreCase)
            examplestr = "http://" & examplestr
        Case Else
            ' It should be easy to add your own cases.
    End Select
于 2013-07-27T13:54:22.710 回答
1

不知道为什么没有人在 VB.NET中提到Like运算符。你可以这样写:

Dim examplestr As String = "www.google.com"
If examplestr Like "www.*" Then
  Debug.WriteLine("Hello")
End If

它比Regex更易于使用,并且比StartsWith提供更多的灵活性。

于 2013-07-27T19:40:16.300 回答
1

您可以使用regex来确定字符串是否以某些内容开头,模式就是它的开头,前面有一个 ^ 符号,如下所示:

    Dim regex = New Regex("^www\.")
    Console.WriteLine(regex.IsMatch("www.google.com")) 'True
    Console.WriteLine(regex.IsMatch("wwwgooglecom")) 'False
    Console.WriteLine(regex.IsMatch("not a match")) 'False
    Console.WriteLine(regex.IsMatch("awww")) 'False
    Console.ReadLine()
于 2013-07-27T13:45:20.190 回答
0

你也可以这样做:

If examplestr.StartsWith("www.") Then
    examplestr = ...
End If

ETC..

于 2013-07-27T13:53:53.260 回答