| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/String/substring | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La mthode substring() retourne une sous-chane de la chane courante, entre un indice de dbut et un indice de fin.
const str = "Mozilla";
console.log(str.substring(1, 3));
// Expected output: "oz"
console.log(str.substring(2));
// Expected output: "zilla"
str.substring(indiceA[, indiceB])
indiceAUn entier compris entre 0 et la longueur de la chane.
indiceBParamtre optionnel : un entier compris entre 0 et la longueur de la chaine.
Une nouvelle chane de caractres qui correspond la section souhaite de la chane appelante.
substring extrait des caractres de la chane courante partir de indiceA jusqu' indiceB (non compris). On a notamment :
indiceA est gal indiceB, substring retournera une chane vide.indiceB est omis, substring effectuera l'extraction des caractres jusqu' la fin de la chane.NaN, il sera trait comme 0.str.length, il sera trait comme str.length.Si indiceA est suprieur indiceB, la fonction substring() intervertira ces deux valeurs afin de les traiter comme si elles avaient t passes dans le bon ordre. Par exemple : str.substring(1, 0) == str.substring(0, 1).
substring()Les exemples suivants utilisent la mthode substring() pour extraire et afficher des caractres partir de la chaine "Mozilla" :
var uneChane = "Mozilla";
// Affiche "Moz"
console.log(uneChane.substring(0, 3));
console.log(uneChane.substring(3, 0));
// Affiche "lla"
console.log(uneChane.substring(4, 7));
console.log(uneChane.substring(4));
console.log(uneChane.substring(7, 4));
// Affiche "Mozill"
console.log(uneChane.substring(0, 6));
// Affiche "Mozilla"
console.log(uneChane.substring(0, 7));
console.log(uneChane.substring(0, 10));
L'exemple suivant remplace une partie d'une chaine. Elle remplace la fois les caractres individuels et les sous-chaines. La fonction appele la fin de cet exemple transforme la chaine "Brave New World" en "Brave New Web".
function replaceString(oldS, newS, fullS) {
// On remplace oldS avec newS dans fullS
for (var i = 0; i < fullS.length; i++) {
if (fullS.substring(i, i + oldS.length) == oldS) {
fullS =
fullS.substring(0, i) +
newS +
fullS.substring(i + oldS.length, fullS.length);
}
}
return fullS;
}
replaceString("World", "Web", "Brave New World");
Attention : ceci peut rsulter en une boucle infinie si oldS est elle-mme une sous-chaine de newS par exemple, si on essaie de remplacer "World" par "OtherWorld". Une meilleure solution serait de remplacer les chaines de cette manire :
function replaceString(oldS, newS, fullS) {
return fullS.split(oldS).join(newS);
}
Le code ci-dessus sert d'exemple pour les oprations sur les sous-chaines. S'il est ncessaire de remplacer des sous-chaines, la plupart du temps il faudrait prfrer l'utilisation de String.prototype.replace().
substring() et substr()Il existe une lgre diffrence entre les mthodes substring() et substr(). Les deux ne doivent pas tre confondues.
Les arguments de la mthode substring() reprsentent les indices de dbut et de fin sur la chane. Pour substr(), les arguments reprsentent l'indice de dbut et le nombre de caractres utiliser pour la chane rsultante.
var texte = "Mozilla";
console.log(texte.substring(2, 5)); // => "zil"
console.log(texte.substr(2, 3)); // => "zil"
substring() et slice()Les mthodes substring() et slice() sont trs proches mais certaines diffrences les distinguent, notamment la faon de grer les arguments ngatifs.
La mthode substring() changera les deux arguments si indiceA est suprieur indiceB et renverra donc une chane de caractres. La mthode slice() n'change pas les arguments et renvoie donc une chane vide si le premier est suprieur au second :
var text = "Mozilla";
console.log(text.substring(5, 2)); // => "zil"
console.log(text.slice(5, 2)); // => ""
Si l'un ou l'autre des arguments sont ngatifs ou valent NaN, la mthode substring() les traitera comme s'ils valaient 0.
console.log(text.substring(-5, 2)); // => "Mo"
console.log(text.substring(-5, -2)); // => ""
slice() traite galement NaN comme 0, mais parcourt la chane partir de la fin lorsque des arguments ngatifs sont utiliss.
console.log(text.slice(-5, 2)); // => ""
console.log(text.slice(-5, -2)); // => "zil"
Pour plus d'exemples sur l'utilisation d'arguments ngatifs, voir la page slice().
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-string.prototype.substring |
Cette page a t modifie le 17 fvr. 2025 par les contributeurices du MDN.
StringString.prototype.anchor()String.prototype.at()String.prototype.big()String.prototype.blink()String.prototype.bold()String.prototype.charAt()String.prototype.charCodeAt()String.prototype.codePointAt()String.prototype.concat()String.prototype.endsWith()String.prototype.fixed()String.prototype.fontcolor()String.prototype.fontsize()String.prototype.includes()String.prototype.indexOf()isWellFormed()String.prototype.italics()String.prototype.lastIndexOf()String.prototype.link()String.prototype.localeCompare()String.prototype.match()String.prototype.matchAll()String.prototype.normalize()String.prototype.padEnd()String.prototype.padStart()String.prototype.repeat()String.prototype.replace()String.prototype.replaceAll()String.prototype.search()String.prototype.slice()String.prototype.small()String.prototype.split()String.prototype.startsWith()String.prototype.strike()String.prototype.sub()String.prototype.substr()String.prototype.substring()String.prototype.sup()String.prototype.toLocaleLowerCase()String.prototype.toLocaleUpperCase()String.prototype.toLowerCase()String.prototype.toString()String.prototype.toUpperCase()toWellFormed()String.prototype.trim()String.prototype.trimEnd()String.prototype.trimStart()String.prototype.valueOf()String.prototype[@@iterator]()Object/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |