Comment utiliser Split?


108

J'ai besoin de casser une chaîne qui ressemble toujours à ceci:

quelque chose - quelque chose_else.

J'ai besoin de mettre "something_else" dans un autre champ d'entrée. Actuellement, cet exemple de chaîne est ajouté à la volée à une ligne de tableau HTML comme ceci:

tRow.append($('<td>').text($('[id$=txtEntry2]').val()));

Je pense que "split" est la voie à suivre, mais il y a très peu de documentation que je peux trouver.


Alors, que faut-il exactement mettre / ajouter / à quel élément?
— Felix Kling

Juste curieux, qu'avez-vous recherché pour ne trouver aucune documentation? J'ai cherché sur Google à la fois "javascript split" et "jquery split" et le premier résultat dans les deux cas était l'emplacement auquel je me suis lié.
— Charles Boyung

Et je suis désolé, mais je ne vois pas comment votre exemple de code est lié à votre split()problème. Donnez-nous plus d'informations :)
— Felix Kling

Je pensais à tort que c'était une solution jQuery alors qu'en fait c'est en fait une chose javascript. J'ai aussi vu cette documentation mais je l'ai rejetée trop rapidement
— Matt

Vous devez vous rappeler que jQuery EST javascript - à moins que vous ne fassiez quelque chose avec des sélecteurs (et quelques autres choses qui commencent par $.), Vous ne faites que du javascript, pas de jQuery.
— Charles Boyung

Réponses:


249

La documentation peut être trouvée par exemple chez MDN . Notez que ce .split()n'est pas une méthode jQuery, mais une méthode de chaîne native.

Si vous utilisez .split()sur une chaîne, vous récupérez un tableau avec les sous-chaînes:

var str = 'something -- something_else';
var substr = str.split(' -- ');
// substr[0] contains "something"
// substr[1] contains "something_else"

Si cette valeur se trouve dans un champ, vous pouvez également faire:

tRow.append($('<td>').text($('[id$=txtEntry2]').val().split(' -- ')[0])));


25

S'il s'agit de la fonction de fractionnement JavaScript de base, consultez la documentation, Méthode JavaScript split () .

En gros, vous faites simplement ceci:

var array = myString.split(' -- ')

Ensuite, vos deux valeurs sont stockées dans le tableau - vous pouvez obtenir les valeurs comme ceci:

var firstValue = array[0];
var secondValue = array[1];


0

Selon MDN , la split()méthode divise une chaîne en un ensemble ordonné de sous-chaînes, place ces sous-chaînes dans un tableau et renvoie le tableau.

🔸 Exemple

var str = 'Hello my friend'

var split1 = str.split(' ') // ["Hello", "my", "friend"]
var split2 = str.split('') // ["H", "e", "l", "l", "o", " ", "m", "y", " ", "f", "r", "i", "e", "n", "d"]

🔹 Dans votre cas

var str = 'something -- something_else'
var splitArr = str.split(' -- ') // ["something", "something_else"]

console.log(splitArr[0]) // something
console.log(splitArr[1]) // something_else
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.