Dans JS, il existe trois Slice (), substr () et substr () couramment utilisés dans la fonction d'interception de caractères. Permettez-moi de vous présenter une certaine utilisation et des différences entre les fonctions Slice (), substr () et substr () lors de l'interception des caractères.
Trois fonctions pour prendre des chaînes: Slice (start, [fin]), substring (start, [fin]) et substr (start, [longueur])
Attributs connexes:
tranche()
Le premier paramètre représente la position de départ, le deuxième paramètre représente la position suivante de la position finale, et la longueur de la chaîne interceptée est la différence entre le deuxième paramètre et le premier paramètre; Si la valeur du paramètre est négative, la valeur est ajoutée à la longueur de chaîne et convertie en une valeur positive; Si le premier paramètre est égal à supérieur au deuxième paramètre, une chaîne vide est renvoyée.
Substring ()
Le premier paramètre représente la position de début et le deuxième paramètre représente la position suivante de la position finale; Si la valeur du paramètre est négative, la valeur est convertie en 0; Parmi les deux paramètres, la valeur la plus petite est prise en tant que position de début, et la longueur de la chaîne interceptée est la différence entre la valeur plus grande et la valeur plus petite.
substr ()
Le premier paramètre représente la position de début, et le deuxième paramètre représente la longueur interceptée
PS: toutes les chaînes commencent à 0
exemple:
<script type = "text / javascript"> var stmp = "rcinn.cn"; // Utilisez une alerte de paramètre (STMP.Slice (3)); // du quatrième caractère, interceptez le dernier caractère; return "nn.cn" alert (stmp.substring (3)); // du quatrième caractère, interceptez le dernier caractère; return "nn.cn" // Utilisez deux paramètres alert (stmp.slice (1,5)) // du deuxième caractère, au cinquième caractère; RETOUR ALERTE "CINN" (STMP.Substring (1,5)); // du deuxième caractère, au cinquième caractère; return "Cinn" // Si un seul paramètre est utilisé et est 0, puis retournez l'alerte entière du paramètre (STMP.Slice (0)); // renvoie toute la chaîne entière (retourne la première alerte de caractères (STMP.Slice (0,1)); // return "R" "r" // Dans l'exemple ci-dessus, nous pouvons voir que l'utilisation de Slice () et substring () est la même // les valeurs retournées sont les mêmes, mais lorsque les paramètres sont négatifs, leurs valeurs de retour sont différentes. Voir l'exemple suivant Alerte (stmp.slice (2, -5)); // retourner "i" alerte (stmp.substring (2, -5)); // renvoie "rc" // à partir des deux exemples ci-dessus, nous pouvons voir que la tranche (2, -5) est en réalité des coupe est retourné); // La sous-chaîne (2, -5) est en fait la sous-chaîne (2,0), et les chiffres négatifs sont convertis en 0, la sous-chaîne prend toujours un nombre plus petit comme position de départ. alert (stmp.substring (1,5)) // commencez du deuxième caractère au cinquième caractère; return "Cinn" alert (STMP.Substr (1,5)); // commencez du deuxième caractère, intercepter 5 caractères; Renvoie "Cinn." </cript>
La différence entre le substr et les méthodes de sous-chaîne
<script type = "text / javascript"> var str = "0123456789"; // alert(str.substring(0));//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alerte (str.substring (-10)); // -------------- "0123456789" alert(str.substring(-12));//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alert(str.substring(2,2));//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alerte (str.substr (5)); // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alerte (str.substr (0,10)); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- alert (str.substr (-1,5)); // -------------- "01234" alert (str.substr (-1, -5)); // ------------------- "" </ script>
Fonction: Split ()
Fonction: utilisez un séparateur spécifié pour diviser une chaîne en un tableau
exemple:
str = ”jpg | bmp | gif | ico | png"; arr = thestring.split ("|"); // arr est un tableau contenant des valeurs de caractère "jpg", "bmp", "gif", "ico" et "png"Fonction: John ()
Fonction: Utilisez le délimiteur de votre choix pour combiner un tableau dans une chaîne
exemple:
var DelimitedString = MyArray.join (Delimiter); var myList = new Array ("jpg", "bmp", "gif", "ico", "png"); var portablelist = myList.join ("|"); // le résultat est jpg | bmp | gif | png |Fonction: indexof ()
Fonction: renvoie l'indice du premier caractère correspondant à la sous-chaîne dans la chaîne
var mystring = ”javascript”; var w = myString.indexof (”v”); w sera 2var x = myString.Indexof ("s"); x sera 4var y = myString.Indexof ("script"); y sera également 4var z = mystring.indexof ("key"); z sera -1J'ai vu une autre méthode très simple en ligne, le code est le suivant:
fonction func (s, n) {return s.replace (/ ([^ x00-xff]) / g, "1a"). Slice (0, n) .replace (/ [^ x00-xff]) a / g, "1"); }Cette méthode est très intelligente et est fondamentalement correcte. On dit "fondamentalement" parce que lorsqu'il prend une sous-chaîne avec la longueur 6 à gauche de "123 Test de caractères chinois", il renvoie "123 caractères chinois", pas "123 chinois". Bien sûr, ce n'est pas nécessairement un problème, et dans certains cas, les exigences peuvent être comme ceci. Cette méthode peut être améliorée comme suit:
fonction func (s, n) {return s.slice (0, n) .replace (/ ([^ x00-xff]) / g, "$ 1a"). Slice (0, n) .replace (/ [[^ x00-xff]) a / g, "$"); }Ce qui précède concerne cet article, j'espère qu'il sera utile pour tout le monde d'apprendre la programmation JavaScript.