我正在编写一个程序,用户在文本框中输入一个项目,该程序将检查该项目是否在字符串中。这是我当前的代码:
Try
Dim Request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("https://www.dropbox.com/s/2l37j6v0ofsenus/Foods.txt?dl=1")
Dim Response As System.Net.HttpWebResponse = Request.GetResponse()
Dim sr As System.IO.StreamReader = New System.IO.StreamReader(Response.GetResponseStream)
Dim Foods As String = sr.ReadToEnd()
If Foods.Contains(TXTItem1.Text) Then
Dim Substring As String = Foods.Split(TXTItem1.Text)(1)
Dim SubString1 As String = Substring.Split("-")(1)
Dim SPValue As String = SubString1.Split(vbNewLine)(0)
MsgBox("That item is worth " + SPValue + " SmartPoints!", info)
Else
MsgBox("Item is not found in our list!", critical)
End If
Catch ex As Exception
MsgBox("Error")
End Try
我想使其在检查字符串时不区分大小写的位置。因此,如果用户输入“ eggs”并且字符串包含“ Eggs”,则即使小写字母也可以执行该功能。我怎样才能做到这一点?谢谢!
答案 0 :(得分:0)
@ jacob-h在the comment above中引用的链接问题已经可以回答您的问题,但是在这种情况下,我更喜欢使用扩展方法。
这是我使用了一段时间的扩展方法版本。在您的项目中添加一个新模块(或在您认为合适的情况下使用现有模块),然后向该模块添加此扩展方法:
<Runtime.CompilerServices.Extension>
Public Function ContainsIgnoreCase(ByVal s As String, ByVal value As String)
Return s.IndexOf(value, StringComparison.OrdinalIgnoreCase) >= 0
End Function
然后您可以使用类似这样的内容:
If Foods.ContainsIgnoreCase(TXTItem1.Text) Then
' Do your thing.
End If
答案 1 :(得分:0)
如果将要测试的字符串转换为小写,并且将要测试的字符串转换为小写,那么就不再考虑大小写了!
有些函数可以为您完成此任务,但是它们背后的逻辑始终是相同的……无条件的比较要求在进行比较之前,将两段数据都转换为全部小写(或全部大写) 。我