la chaîne ressemble à ceciJavascript/Jquery - Obtenez le numéro de chaîne
"blabla blabla-5 amount-10 blabla direction-left"
Comment puis-je obtenir le numéro juste après "amount-"
, et le texte juste après "direction-"
?
la chaîne ressemble à ceciJavascript/Jquery - Obtenez le numéro de chaîne
"blabla blabla-5 amount-10 blabla direction-left"
Comment puis-je obtenir le numéro juste après "amount-"
, et le texte juste après "direction-"
?
Il utilise regular expressions et exec method:
var s = "blabla blabla-5 amount-10 blabla direction-left";
var amount = parseInt(/amount-(\d+)/.exec(s)[1], 10);
var direction = /direction-([^\s]+)/.exec(s)[1];
Le code provoque une erreur si la quantité ou la direction est manquante; si cela est possible, vérifiez si le résultat de exec est non nul avant l'indexation dans le tableau qui doit être retourné.
merci c'était ça :) – Alex
Vous pouvez utiliser regexp comme expliqué by w3schools. Indice:
str = "blabla blabla-5 amount-10 blabla direction-left"
alert(str.match(/amount-([0-9]+)/));
Otherwize vous pouvez simplement vouloir tous les nombres, utilisez le motif [0-9] + seulement. str.match retournera un tableau.
Uh-oh http://w3fools.com/ –
Cela obtenir tous les nombres séparés par le coma:
var str = "10 is smaller than 11 but greater then 9"; var pattern = /[0-9]+/g; var matches = str.match(pattern);
Après l'exécution, la chaîne matches
auront des valeurs "10,11,9"
Si vous êtes à la recherche pour Thew première occurrence, le modèle sera /[0-9]+/
- qui retournera 10
(Il n'y a pas besoin de JQuery)
C'est le moyen le plus efficace. Merci! –
Fol baisser quelle règle? Extraire tous les nombres? Quel est le résultat souhaité, un tableau? –
non, juste le nombre/chaîne après ces paramètres. la sortie devrait être une chaîne – Alex