2011-06-13 3 views
0

Recherche du moyen le plus simple d'extraire des valeurs d'une chaîne. Par exemple, considérons les éléments suivants:Manipulation de chaînes VB.NET

Dim args As String = "/firstname:Bob /lastname:Jones" 

Pour simplifier, je dois pouvoir faire apparaître une boîte qui dit « FirstName = Bob » ou « Nom = Jones »

+0

Est-ce un devoir? – Predator

+0

@Gens: Je souhaite seulement. Peu trop vieux pour les devoirs :) –

+0

Pourriez-vous essayer quelque chose comme ça pour faire le travail pour vous? (En supposant que vous êtes en train d'analyser les arguments de la ligne de commande) http://commandline.codeplex.com/ ou http://nconsoler.csharpus.com/ – Tom

Répondre

1

Avez-vous essayé d'utiliser la méthode de Split un string. Il devrait ressembler à ceci:

Dim arr() as string 
arr=args.Split("/") 
Dim i as integer 
    For i=0 to arr.GetLength(0) 
    arr(i)=arr(i).Trim.Replace(":", "=") 
Next 
0

J'utilise la fonction Split pour créer un tableau de mots, puis les lire dans l'ordre:

char[] sep = new char[2]; 
sep[0] = '/'; 
sep[1] = ':'; 
string values = "/firstname:Bob /lastname:Jones"; 
string[] sites = values.Split(sep); 
foreach (string s in sites) { 
Console.WriteLine(s); 
} 

Ce poste est également utile! http://www.techrepublic.com/article/easily-parse-string-values-with-net/6030362

+0

vous devriez alors dans le look faire une technique paire ou impaire pour récupérer le nom du champ, par rapport à sa valeur –

0

En utilisant Regex ce modèle peut aider:

(?<identifier>[a-z]+)(?<value>[a-z]+) 

Voyez comment cela works. Vous pouvez itérer sur tous les groupes et extraire identifier et value.