J'ai une chaîne qui, à un moment donné, contient l'ensemble de caractères dans le format suivant Ce que je voudrais faire, c'est obtenir les caractères entre Comment irai-je à ce sujet dans vb.net? p> [123] code>. p>
[] code> mais les caractères entre les deux n'ont jamais la même longueur. P>
6 Réponses :
Vous pouvez faire quelque chose comme ça ..
Dim val As String = str.Substring(1, str.Length - 2) // replace str with your string variable
L'OP a une chaîne "qui à un moment donné" i> ces personnages. Ils ne constituent pas la chaîne entière.
Son suffisamment sensible pour remplacer S avec la variable de chaîne que l'OP a.
Et puis votre code ne fonctionnera pas. Par exemple, si la chaîne de l'OP est "FOO [123] bar" i>.
OP n'a jamais mentionné quoi que ce soit à ce sujet. Il a seulement mentionné la longueur des caractères entre les crochets.
Dim s As String = "foo [123]=ro bar" Dim i As Integer = s.IndexOf("[") Dim f As String = s.Substring(i + 1, s.IndexOf("]", i + 1) - i - 1)
La chaîne que je passe spécifiquement tandis que le débogage est nav [1] = root code>, mais lors de l'utilisation ci-dessus,
f code> est renvoyé comme
[1] = ro < / code>. Ai-je fait une erreur?
Essayez ceci .. S.Substring (i, S.Length - (i + s.indexof ("]", i + 1)))
@Liam: Désolé, mon erreur. Corrigé maintenant.
Dim s As String = "nav[1]=root" dim result as String = s.Substring(s.IndexOf("[") + 1, s.IndexOf("]", s.IndexOf("[")) - s.IndexOf("[") - 1)
Vous pouvez utiliser une expression régulière.
Dim s, result As String Dim r As RegularExpressions.Regex s = "aaa[bbbb]ccc" r = New RegularExpressions.Regex("\[([^\]]*)\]") If r.IsMatch(s) Then result = r.Match(s).Value Else result = "" End If
L'énoncé J'ai utilisé cette déclaration pour renvoyer l'iPaddress entouré de () à l'intérieur de la chaîne longue: - p> regularexpressions.regex ("\ [([[^ \]] *) \]") code> retourne la valeur à l'intérieur du support et strong> le support!
Ma solution:
Dim s As String = "nav[1]=root" dim result as String = s.substring(s.indexof("[")+1, s.indexof("]")-s.indexof("[")-1)