Comment cela est possible de trouver sur le chiffre de voyage (numéro) qui se déplace à l'intérieur de la chaîne. p>
Comme si j'ai une chaîne qui contient toujours beaucoup de caractères différents et que j'ai besoin de trouver un seul chiffre. p>
Exemple: P>
CV45H.CDXE 5 fort> HDSE.456YUTFGH.GSAWFYDFX.ZD776R345.eytuhjg.fryh $ 76 P> blockQuote>
Dans cet exemple, il devrait renvoyer 5 fort> p>
cbn.tg444.33fvbbsery.ddfby & sdcbnbbb. # 353fdd4437.809c 2 fort> g345.fvbwse645 p> blockQuote>
Dans cet exemple doit renvoyer
2 fort> p>
4 Réponses :
Basé sur les "détails" que vous fournissez, je suppose que vous recherchez le chiffre qui n'a pas de chiffres voisins. La regex pour cela est \ d (\ d) \ d code> ( voir la démo < / a>):
Si vous souhaitez saisir le premier numéro à une seule chiffre à partir d'une chaîne:
(?<! # negative look-behind \d # asserting there's no digit behind ) # end look-behind (?<digit> # named group 'digit' \d # matching a single digit ) # end named group (?! # negative look-ahead \d # asserting there's no digit ahead ) # end look-ahead
C'est une solution totalement grande, c'est aussi!
wow, merci. Tomas, spécial pour vous. Je ne savais pas à propos de " https://regex101.com " p>
J'ai trouvé une solution: C'est comme ça [[: alpha:]] \ d [[: alpha:]]] p>
D'après ce que je peux dire, ni DotNet ni le sous-ensemble de Posh de cette assistance de ces classes de caractères POSIX. Avez-vous testé ce modèle de regex dans PowerShell? [ Grin I>]
Voici encore une autre méthode. [ Grin em>] Il n'est pas aussi efficace que les versions principalement de regex, mais il peut être plus facile de comprendre. Ceci présume que votre "numéro de voyage" est simplement le 1er numéro à un chiffre de la chaîne. ce qu'il fait ... p> le code ... p> sortie =
Cela consomme les cibles fractionnées et vous donne une bouquet de cordes qui consistent uniquement à des chiffres ou sont vides. li>
La scission sur toute série non chiffrée donne à un élément vierge de fractionnement des chaînes Alfa. li>
5 code> p> p> p>
Y a-t-il une certaine logique quant à quel chiffre vous voulez trouver dans l'une de ces chaînes?
J'utiliserais regex mais quelles sont les conditions de vos chiffres? Sur la base de ce qui devrait être retourné? Qu'est-ce que tu as fait jusqu'à présent?