VB.net 返回不一致结果的函数



我创建了一个简单的函数,旨在从另一个字符串中删除一串字符,并将其替换为用户想要的任何字符串(或默认没有字符串(

Private Function RemoveString(scontainer As String, Optional rcontainer As String = "", Optional rstring As String = "") As String
    Dim container As String = scontainer
    Dim tcontainer As String
    If InStr(container, rcontainer) <> 0 Then
        Do While (InStr(container, rcontainer) <> 0)
            tcontainer = Microsoft.VisualBasic.Left(container, InStr(container, rcontainer) - 1)
            tcontainer = tcontainer & rstring & Microsoft.VisualBasic.Right(container, (Len(container) - (InStr(container, rcontainer) + 2)))
            container = tcontainer
        Loop
        RemoveString = container 'return modded string
    Else
        RemoveString = scontainer 'return string as is
    End If
End Function

问题是:虽然这被认为是一个通用函数,但我真的需要它关注 2 个不同的字符串

%20放大 器;

该函数非常适合 %20 的情况,但它为 AMP; 字符串留下了分号。知道为什么会这样吗?

我说得对吗?您想用另一个字符序列替换字符串中的某个字符序列,或者只是删除它。

如果是这种情况,您可以使用 String.Replace(oldValue As String, newValue As String( 作为字符串

Dim startString as String = "%20 amp;"
Dim resultString as String = startString.Replace("%20 ",String.Empty)
resultString = resultString.Replace(";",String.Empty)

在这些行之后,结果字符串将是"amp">

最新更新