Maison >interface Web >js tutoriel >Résumé des méthodes d'utilisation de chaînes couramment utilisées en Javascript

Résumé des méthodes d'utilisation de chaînes couramment utilisées en Javascript

黄舟
黄舟original
2017-03-20 14:58:311490parcourir

Cet article présente principalement les méthodes d'utilisation couramment utilisées de String en Javascript. A une très bonne valeur de référence. Jetons un coup d'œil avec l'éditeur ci-dessous

Je venais de lire le livre Javascript Rhino et j'ai vu la section sur les chaînes. Je n'ai pas beaucoup d'exposition à cet aspect dans mon travail quotidien, alors j'ai pensé que je le ferais. je réglerais le problème en cas d'urgence.

L'une des fonctions intégrées de Javascript est la concaténation de chaînes. Si vous utilisez « » pour connecter deux nombres, cela signifie additionner les deux nombres. Mais s’il est utilisé dans une chaîne, cela signifie que le deuxième caractère est ajouté après le premier caractère.

var num=1+2;
console.log(num);
var msg='hello'+'world';
console.log(msg);

Pour les chaînes, en plus de l'attribut length, il existe de nombreux autres attributs utiles, tels que :

var str='hello,world';
console.log(str.length);
console.log(str.charAt(0)); //第一个字符 
console.log(str.charAt(str.length-1)); // 最后一个字符 
//substring(starti,endi), 截取 字符串 起始startistartii, 到endi结束,且含头不含尾,没有
// 如果第二个参数没有, 就默认截取到最后一个。  
console.log(str.substring(1,4));
console.log(str.substring(1));
//用法同上,为负数时,就是倒数开始算,一个参数含义是倒数几个。
console.log(str.slice(1,4));
console.log(str.slice(-3));
//字符‘l'首次出现的位置 
console.log(str.indexOf('l'));
//字符‘l'最后一次出现的位置 
console.log(str.lastIndexOf('l'));
//在位置下标3之后,首次出现的位置 
console.log(str.indexOf('l',3));
//用‘,'分割为字符串
console.log(str.split(','));
// 把str中的小写h换成大写H
console.log(str.replace('h','H'));
//讲字符串转化为大写
console.log(str.toUpperCase());

Astuce : La chaîne elle-même est corrigée en JavaScript. Les méthodes ci-dessus renverront une nouvelle valeur de chaîne et n'affecteront pas la valeur de str elle-même

Il convient de noter que, dans ES6, de nombreuses nouvelles méthodes sont ajoutées aux chaînes, telles que :

var s = 'Hello world!';
// 返回布尔值,表示参数字符串是否在源字符串中的头部
console.log(s.startsWith('Hello')) // true
//endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部
console.log(s.endsWith('!')) // true
// includes()返回布尔值,表示是否找到了参数字符串
console.log(s.includes('o')) // true

Les trois méthodes ci-dessus prennent toutes en charge le deuxième paramètre, indiquant la position de départ de recherche

var s = 'Hello world!';
console.log(s.startsWith('world', 6)) // true
console.log(s.endsWith('Hello', 5))// true
console.log(s.includes('Hello', 6)) // false

Conseil : endsWith se comporte différemment des deux autres méthodes. Elle cible les n premiers caractères, tandis que les deux autres méthodes ciblent la nième position jusqu'à la fin de la chaîne.
La méthode de répétition renvoie une nouvelle chaîne, ce qui signifie répéter la chaîne d'origine n fois.

console.log('x'.repeat(3)) // "xxx"
console.log('hello'.repeat(2)) // "hellohello"
console.log('na'.repeat(0)) // ""

Si le paramètre est un décimal, il sera arrondi.

console.log('na'.repeat(2.9)) // "nana"
//如果repeat的参数是负数或者Infinity,会报错。
console.log('na'.repeat(Infinity))
// RangeError
console.log('na'.repeat(-1))
// RangeError

Cependant, si le paramètre est un nombre décimal compris entre 0 et -1, il équivaut à 0, car l'opération d'arrondi est effectuée en premier. Une décimale comprise entre 0 et -1 est égale à -0 après arrondi, et la répétition est considérée comme 0.

console.log('na'.repeat(-0.9)) // ""
//参数NaN等同于0
console.log('na'.repeat(NaN)) // "
//如果repeat的参数是字符串,则会先转换成数字
console.log('na'.repeat('na')) // ""
console.log('na'.repeat('3')) // "nanana"

ES2017 introduit la fonction de longueur de complétion de chaîne. Si une corde n’est pas assez longue, elle sera complétée au niveau de la tête ou de la queue. padStart() est utilisé pour la complétion de la tête, padEnd() est utilisé pour la complétion de la queue

//padStart和padEnd一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
console.log('x'.padStart(5, 'ab')) // 'ababx'
console.log('x'.padStart(4, 'ab')) // 'abax'
console.log('x'.padEnd(5, 'ab')) // 'xabab'
console.log('x'.padEnd(4, 'ab')) // 'xaba'
//如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。
console.log('xxx'.padStart(2, 'ab')) // 'xxx'
console.log('xxx'.padEnd(2, 'ab')) // 'xxx'
//如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。
consoe.log('abc'.padStart(10, '0123456789'))
// '0123456abc'
//如果省略第二个参数,默认使用空格补全长度。
console.log('x'.padStart(4)) // ' x'
console.log('x'.padEnd(4)) // 'x '
//padStart的常见用途是为数值补全指定位数。下面代码生成10位的数值字符串。
console.log('1'.padStart(10, '0') )// "0000000001"
console.log('12'.padStart(10, '0')) // "0000000012"
console.log('123456'.padStart(10, '0')) // "0000123456"
//另一个用途是提示字符串格式。
console.log('12'.padStart(10, 'YYYY-MM-DD')) // "YYYY-MM-12"
console.log('09-12'.padStart(10, 'YYYY-MM-DD'))// "YYYY-09-12"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn