Trouver l'indice de nombre à partir d'une chaîne en C#
Formulaire ci-dessous chaîne je voudrais obtenir l'indice du nombre de départ.S'il vous plaît laissez-moi savoir comment cela peut être fait en C#.net.
Par exemple
University of California, 1980-85.
University of Colorado, 1999-02
- merci de poster votre code tentative à ce jour....
- voulez-vous la position du premier numéro?
- oui, je souhaite obtenir la première position de le nombre dans chaque chaîne.
Vous devez vous connecter pour publier un commentaire.
string
àchar[]
. Votre suggestion a semblé très intuitive, et je ne sais pas pourquoi cela ne fonctionne pas, autre que celle d'unstring
a toutes les propriétés et le comportement d'unchar[]
sans en être réellement une..ToCharArray()
peu saviez-vous?string
à unchar[]
, ce qui pourrait prendre du temps. Il est nécessaire de le faire, mais le faire une fois.Suivante peut vous aider à accomplir votre tâche
Ne sais pas si c'est le moyen le plus rapide (je suppose que ça doit être plus rapide que
Regex
), mais vous pouvez le faire avec un 1 liner en utilisant le haut dans la chaîne de méthodeIndexOfAny
:EDIT: Ma méthode semble être beaucoup plus rapide dans un simple test que j'ai fait:
Exécuter résultat 1:
Exécuter résultat 2:
Exécuter résultat 3:
Cela ressemble à une différence significative. Je me demande comment il serait affecté par différentes longueurs de chaînes ainsi... j'essaie de rester à l'écart de
Regex
sauf dans des situations où je suis vraiment à la recherche d'un certain type de motif plus complexe qu'il semble toujours très lentement.EDIT 2: Fixe de test pour le rendre plus précis avec les
char[]
etRegex
prédéfinis à l'extérieur de la boucle.