Problème avec Regex - Recherche d'une chaîne
Apa
-
flokocha Messages postés 1519 Statut Membre -
flokocha Messages postés 1519 Statut Membre -
Bonjour,
J'ai une grosse chaîne de caractères, de type : "Début de la chaîne 989988 Fin de le chaîne".
Je souhaite extraire le numéro "989988".
Rien de compliqué jusque la, j'utilise cette expression régulière : "#[0-9]{1,}#" (qui fonctionne très bien)
Le problème, c'est que mon but est de récupérer le nombre compris entre mes 2 chaînes, Or - je ne trouve aucune fonctions preg_ capable de faire cela.
Toutes les fonctions preg_ découpent ma chaîne en 2, grâce au nombre - Mais aucune ne peut "extraire" ce nombre..
Je me retrouve donc avec un tableau :
Case[0] => "Début de la chaîne"
Case[1] => "Fin de le chaîne"
Alors que je ne veux absolument pas cela, mais plutôt :
Case[0] => "989988"
Merci pour vos réponses :)
J'ai une grosse chaîne de caractères, de type : "Début de la chaîne 989988 Fin de le chaîne".
Je souhaite extraire le numéro "989988".
Rien de compliqué jusque la, j'utilise cette expression régulière : "#[0-9]{1,}#" (qui fonctionne très bien)
Le problème, c'est que mon but est de récupérer le nombre compris entre mes 2 chaînes, Or - je ne trouve aucune fonctions preg_ capable de faire cela.
Toutes les fonctions preg_ découpent ma chaîne en 2, grâce au nombre - Mais aucune ne peut "extraire" ce nombre..
Je me retrouve donc avec un tableau :
Case[0] => "Début de la chaîne"
Case[1] => "Fin de le chaîne"
Alors que je ne veux absolument pas cela, mais plutôt :
Case[0] => "989988"
Merci pour vos réponses :)
A voir également:
- Problème avec Regex - Recherche d'une chaîne
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Problème recherche de chaine tv thomson - Forum TNT / Satellite / Réception
- Comment faire une recherche à partir d'une photo - Guide
- Chaine tnt gratuite sur mobile - Guide
- Je recherche une chanson - Guide
6 réponses
Alors... pour commencer:
Quel langage utilises-tu ?
Explique ce que tu recherches à faire:
=> Tu veux récupérer ce qu'il y a entre deux chaines ?
=> Ce que tu veux récupérer tous ce qui est numérique dans la chaine? [0-9] ?
<?php
$string = "Deb989988 485 354Fin";
preg_match_all('/[0-9]+/',$string,$matches);
print_r($matches[0]);
// Affichera Array ( [0] => 989988 [1] => 485 [2] => 354 )
?>
Quel langage utilises-tu ?
Explique ce que tu recherches à faire:
=> Tu veux récupérer ce qu'il y a entre deux chaines ?
=> Ce que tu veux récupérer tous ce qui est numérique dans la chaine? [0-9] ?
<?php
$string = "Deb989988 485 354Fin";
preg_match_all('/[0-9]+/',$string,$matches);
print_r($matches[0]);
// Affichera Array ( [0] => 989988 [1] => 485 [2] => 354 )
?>
Salut,
Je ne sais pas quel est le langage utilisé, mais en règle générale pour "capturer" une portion de chaine à l'aide d'une regexp, il faut encadrer de parenthèses la regexp correspondant à la chaîne à capturer.
Je ne sais pas quel est le langage utilisé, mais en règle générale pour "capturer" une portion de chaine à l'aide d'une regexp, il faut encadrer de parenthèses la regexp correspondant à la chaîne à capturer.
salut!
essai ça:
<?php
$string = "Début de la chaîne 989988 Fin de le chaîne";
for($i=0; $i<strlen($string); $i++) {
if(is_numeric($string[$i])){
echo $string[$i];
}
}
?>
mais s'il y a d'autres chiffres dans la chaines il va aussi les afficher.
essai ça:
<?php
$string = "Début de la chaîne 989988 Fin de le chaîne";
for($i=0; $i<strlen($string); $i++) {
if(is_numeric($string[$i])){
echo $string[$i];
}
}
?>
mais s'il y a d'autres chiffres dans la chaines il va aussi les afficher.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
A priori si tu parle d'utiliser la fonction Regex, je pense que le langage que tu utilise est Visual Basic. Si c'est bien le cas, admettons que ta chaîne complète soit :
21313413298998864831353
Sachant que tu souhaite récupérer la chaîne : 989988
Il te suffit d'utiliser le code suivant :
Il ne te reste plus qu'à suivre le principe pour la véritable valeur de ta chaîne.
En espérant t'avoir aider
Cordialement
A priori si tu parle d'utiliser la fonction Regex, je pense que le langage que tu utilise est Visual Basic. Si c'est bien le cas, admettons que ta chaîne complète soit :
21313413298998864831353
Sachant que tu souhaite récupérer la chaîne : 989988
Il te suffit d'utiliser le code suivant :
Dim machaine As String machaine = "21313413298998864831353" machaine = Replace(machaine, "213134132", System.String.Empty) machaine = Replace(machaine, "64831353", System.String.Empty) MsgBox(machaine)
Il ne te reste plus qu'à suivre le principe pour la véritable valeur de ta chaîne.
En espérant t'avoir aider
Cordialement