J'ai créé une fonction simple conçu pour supprimer une chaîne de caractères d'une autre chaîne et le remplacer par ce que jamais la chaîne que l'utilisateur souhaite (ou aucune chaîne par défaut)VB.net Fonction retour des résultats incohérents
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
Le problème est: Bien que ce soit supposé être une fonction d'utilisation générale, j'ai vraiment besoin qu'il soit concerné par 2 chaînes différentes
% 20 amp;
la fonction fonctionne parfaitement pour la situation% 20 mais laisse le point-virgule derrière pour l'ampli; chaîne. Des idées pour lesquelles cela pourrait être?
Regardez 'InStr (conteneur , rcontainer) + 2' - pourquoi utilisez-vous 2 ici? –
Alors que je tapais mon explination, j'ai réalisé pourquoi cela ne fonctionne probablement pas. Je vais essayer d'utiliser « + len (rcontainer) » – gNerb
Vous devriez également regarder en utilisant 'String.Replace' ... –