我在使用函数替换另一个字符串中的某个字符串时遇到问题。出于某种原因,最终的字符串仍然是相同的。这是我的代码:
Private Function RemoveSomeChars(ByVal song As String)
Dim finalSong As String = song
If finalSong.ToLower.Contains("official") Then
finalSong.ToLower.Replace("official", "")
End If
Return finalSong
End Function
我这样使用它:
MsgBox(RemoveSomeChars(currentSong))
答案 0 :(得分:1)
评论中指出的是Plutonix; String.Replace()是一个不会修改底层字符串而是返回一个新字符串的函数。在你的情况下,你想要像这样使用它
finalSong = finalSong.ToLower.Replace("official", "")
String.ToLower()的行为方式大致相同。
作为最后的注释(这可能对你很重要,也可能不重要)我想指出,如果输入了if
块,那么finalSong
将被转换为全小写,而在跳过if
块的情况下它将保持不变。