Est-il une fonction qui retourne l'index où RegEx match commence?
J'ai chaînes de 15 caractères. Je suis de l'exécution de certains pattern matching sur elle avec une expression régulière. Je veux savoir la position de la sous-chaîne où l' IsMatch()
fonction renvoie la valeur true.
Question: Est qu'il existe une fonction qui renvoie l'indice du match?
- Voulez-vous dire l'indice d'un match dans la chaîne ou l'indice d'une chaîne correspondante dans une collection?
- l'indice de correspondance dans la chaîne de...
Vous devez vous connecter pour publier un commentaire.
Pour des correspondances multiples, vous pouvez utiliser un code similaire à ceci:
Utiliser la Correspondance au lieu de IsMatch:
De sortie:
Au lieu d'utiliser IsMatch, utilisez le Matchs méthode. Cela renvoie un MatchCollection, qui contient un certain nombre de Match objets. Ceux-ci ont une propriété Index.
Note# Devriez vérifier le résultat du Match.le succès, parce que son retour 0, et peut confondre avec la Position 0, Veuillez vous référer à la Marque Byers Réponse. Merci.
Plutôt que d'utiliser
IsMatch()
, utilisezMatches
:Ce sera une sortie 4
de -1 indique aucune correspondance
IndexOf
ne prend pas en charge les modèles, que de simples chaînes de caractères.