2
我一直在使用text.indexof()來查看一個字符串是否位於另一個字符串內,但它可以做一個區分大小寫/不敏感的搜索選項?我一直在環顧Google,並沒有太多運氣。vb.net - 一個字符串區分大小寫/不敏感的搜索文本
一個巨大的好處是,如果它可以計算字符串內出現的次數!
我一直在使用text.indexof()來查看一個字符串是否位於另一個字符串內,但它可以做一個區分大小寫/不敏感的搜索選項?我一直在環顧Google,並沒有太多運氣。vb.net - 一個字符串區分大小寫/不敏感的搜索文本
一個巨大的好處是,如果它可以計算字符串內出現的次數!
IndexOf
有幾個過載參數StringComparison
,允許您指定各種培養和區分大小寫選項。
例如:
至於計數事件,沒有什麼內置的,但它是非常簡單的做自己:在這裏
Dim haystack As String = "The quick brown fox jumps over the lazy dog"
Dim needle As String = "th"
Dim comparison As StringComparison = StringComparison.OrdinalIgnoreCase
Dim count As Integer = CountOccurrences(haystack, needle, comparison)
' ...
Function CountOccurrences(ByVal haystack As String, ByVal needle As String, _
ByVal comparison As StringComparison) As Integer
Dim count As Integer = 0
Dim index As Integer = haystack.IndexOf(needle, comparison)
While index >= 0
count += 1
index = haystack.IndexOf(needle, index + needle.Length, comparison)
End While
Return count
End Function
咄,還是新的vb.net :) - 這是否適用於text.Replace()函數以及我可以做大小寫敏感/不敏感替換? – Joe 2010-09-08 10:48:26
@Joe:不幸的是,沒有任何採用'StringComparison'參數的'Replace'的等價重載。我有一個C#擴展方法來做到這一點,我可以粘貼它,如果你喜歡。 (我自己並不很流利地使用VB,目前沒有時間翻譯它,對不起。) – LukeH 2010-09-08 10:57:27
啊廢話,別擔心我以後會找到別的東西。謝謝! – Joe 2010-09-08 10:58:57