2011-08-19 2 views
1

J'ai actuellement le code suivant pour obtenir une valeur spécifique dont j'ai besoin d'une chaîne.effacer les valeurs inconnues en C#

char[] delimiterChars = { ' ', 'B', 'O', 'B'}; 
        string text = input.ToString(); 
        string[] words = text.Split(delimiterChars); 

Malheureusement, l'espace dans la chaîne est inconnu caractères qui sont entrées par l'utilisateur. Y a-t-il une carte générique qui récupère tous les personnages avant cet espace? J'espérais que je pourrais juste mettre un * à l'intérieur de la première citation avec l'espace '* ' mais ça ne semble pas aimer ça.

Merci.

EDIT:

donc la variable de chaîne est constitué d'une série de caractères entrés par l'utilisateur, il a BOB et un entier aléatoire ajoutés à la fin. Mon but est de récupérer seulement le nombre à la fin de la chaîne.

Un exemple de chaîne d'exemple serait "user BOB44" Désolé pour la confusion et merci encore!

+1

Pourquoi voudriez-vous spécifier le caractère 'B' deux fois? 'String.Split (char [])' se sépare sur * l'un des caractères *, et non sur la chaîne composée des caractères. – cdhowie

+0

oh je pensais que c'était la scinder dans l'ordre qu'il était dans la chaîne. (désolé je suis un peu nouveau à ce sujet) –

+0

Pouvez-vous fournir un échantillon et expliquer ce qui doit être atteint? – V4Vendetta

Répondre

2

Vous pouvez utiliser une expression régulière pour obtenir le numéro à la fin d'une chaîne

/([0-9]*)$/ capturera le dernier groupe de séquence de caractères numériques à la fin d'une chaîne

En C# (il ressemble à vous utilisez cette langue):

Regex pattern = new Regex("([0-9]*)$"); 
MatchCollection matches = pattern.Matches(input); 
if (matches.Count > 0) { 
    // matches[0] will contain the number 
} 
+0

comment puis-je obtenir la valeur des correspondances (j'essaie d'obtenir la valeur int donc j'ai essayé 'index = (Convert.ToInt32 (correspond à [1] .Value.ToString()) -' –

+0

mais il dit string est un format incorrect quand je l'exécute –

+0

essayez les correspondances [0]; – Johnston