2009-11-04 6 views
1

Très bien, donc je dois être capable de faire correspondre les chaînes de manière à me donner plus de flexibilité. donc, voici un exemple. par exemple, si je devais la chaîne « Ceci est ma chaîne aléatoire », je veux une certaine façon de fairechaîne correspondant en C#

" *random str* ", 
" *is __ ran* ", 
" *is* ", 
" *this is * string ", 

durant tout le match avec, je pense que d'un simple vrai ou faux à ce point serait correct de Le temps qu'il fait correspond ou non, mais id comme fondamentalement * être n'importe quelle longueur de tous les caractères, aussi que _ correspondrait à n'importe quel caractère. Je ne peux pas penser à un moyen, même si je suis sûr qu'il existe, donc si possible, les réponses pourraient contenir des exemples de code, et merci d'avance!

+0

Je suis un peu confus que puisque la question est marquée avec regex (il ne semble pas être une modification ultérieure), ce que vous cherchez est différent de regexes? –

Répondre

5

Je ne peux pas comprendre tout à fait ce que vous essayez de faire, mais en réponse à:

mais id comme fondamentalement * pour être une longueur de tous les caractères, que _ correspondraient tout caractère

En regex, vous pouvez utiliser . pour correspondre à un seul caractère et à .+ correspondre à n'importe quel nombre de caractères (au moins un), ou .* pour correspondre à n'importe quel nombre de caractères (ou aucun si nécessaire).

Ainsi, votre *is __ ran* exemple pourrait se transformer en .+is .. ran.+ regex, tandis que this is * string pourrait être this is .+ string.

Si cela ne répond pas à votre question, vous pouvez essayer de le reformuler pour le rendre plus clair.

Pour apprendre plus de syntaxe regex, un site populaire est regular-expressions.info, qui fournit à peu près tout ce dont vous avez besoin pour commencer.

3

Utiliser Regular Expressions.

En C#, vous utiliseriez la classe Regex.

Par exemple:

var str = "This is my random string"; 

Console.WriteLine(Regex.IsMatch(str, ".*is .. ran.*")); //Prints "True" 
+7

Commentaire snarky préemptif: Vous aurez maintenant deux problèmes! – SLaks

+0

Étant donné que l'OP a étiqueté sa question avec 'regex', je pense qu'il cherche quelque chose d'un peu plus spécifique. :) – Noldorin

+0

Pourquoi était-ce downvoted? – SLaks