Игнорировать регистр при сравнении IF
Есть ли простой способ сделать это сравнение при включенном игнорировании?
If file.Extension = ".Lnk" Then MsgBox(file.Extension)
То, что я пытаюсь сделать, это получить все ".lnk" или ".LNK" или ".lNk" или " ".Lnk"и т.д...
Я знаю, что это возможно с RegEx, но... есть простой способ для этого примера?
Спасибо за чтение
4 ответа
Решение
Преобразуйте расширение в нижний регистр, используя ToLower, а затем сравните
If file.Extension.ToLower = ".lnk" Then MsgBox(file.Extension)
И забудьте об этом Regex. Это действительно излишне и неуместно
Использование String.Equals
для сравнения строк. Игнорировать регистр использования CurrentCultureIgnoreCase
или же InvariantCultureIgnoreCase
,
If String.Equals("AAA", "aaa", StringComparison.InvariantCultureIgnoreCase) Then
'more code
End If
Используйте это для игнорирования сравнения
If String.Compare(file.Extension, ".lnk", True) = 0 Then MsgBox(file.Extension)
изменить true на false для сравнения с учетом регистра
Тест модуля
Sub Main()
Dim userString As String = Nothing
Dim finalString As String = "Jacob"
Console.WriteLine("Enter username")
userString = Console.ReadLine()
If String.Compare(finalString, userString, True) = 0 Then
Console.WriteLine("Access Granted")
Else
Console.WriteLine("Access Denied")
End If
Console.ReadLine()
End Sub
Конечный модуль