String.prototype.substring()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
Сводка
ÐеÑод substring() возвÑаÑÐ°ÐµÑ ÑаÑÑÑ ÑÑÑоки Ð¾Ñ Ð½Ð°ÑалÑного индекÑа до конеÑного (не вклÑÑÐ°Ñ ÐµÐ³Ð¾), или, еÑли конеÑнÑй Ð¸Ð½Ð´ÐµÐºÑ Ð½Ðµ Ñказан, â до конÑа ÑÑÑоки.
СинÑакÑиÑ
str.substring(indexA[, indexB])
ÐаÑамеÑÑÑ
indexA-
Целое ÑиÑло оÑ
0до Ð´Ð»Ð¸Ð½Ñ ÑÑÑоки, опÑеделÑÑÑее ÑмеÑение в ÑÑÑоке пеÑвого Ñимвола, коÑоÑÑй бÑÐ´ÐµÑ Ð²ÐºÐ»ÑÑÑн в ÑезÑлÑÑиÑÑÑÑÑÑ Ð¿Ð¾Ð´ÑÑÑокÑ. indexB-
ÐеобÑзаÑелÑнÑй паÑамеÑÑ. Целое ÑиÑло оÑ
0до Ð´Ð»Ð¸Ð½Ñ ÑÑÑоки, опÑеделÑÑÑее ÑмеÑение в ÑÑÑоке пеÑвого Ñимвола, коÑоÑÑй не бÑÐ´ÐµÑ Ð²ÐºÐ»ÑÑÑн в ÑезÑлÑÑиÑÑÑÑÑÑ Ð¿Ð¾Ð´ÑÑÑокÑ.
ÐпиÑание
ÐеÑод substring() Ð¸Ð·Ð²Ð»ÐµÐºÐ°ÐµÑ ÑимволÑ, наÑÐ¸Ð½Ð°Ñ Ñ Ð¸Ð½Ð´ÐµÐºÑа indexA до, но не вклÑÑаÑ, Ð¸Ð½Ð´ÐµÐºÑ indexB. Ð ÑаÑÑноÑÑи:
- ÐÑли аÑгÑменÑ
indexAÑавен аÑгÑменÑÑindexB, меÑодsubstring()веÑнÑÑ Ð¿ÑÑÑÑÑ ÑÑÑокÑ. - ÐÑли аÑгÑменÑ
indexBопÑÑен, меÑодsubstring()извлеÑÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð´Ð¾ конÑа ÑÑÑоки. - ÐÑли лÑбой из аÑгÑменÑов менÑÑе, либо Ñавен нÑÐ»Ñ Ð¸Ð»Ð¸ Ñавен
NaN, он бÑÐ´ÐµÑ ÑÑакÑоваÑÑÑÑ ÐºÐ°Ðº ÑавнÑй 0. - ÐÑли лÑбой из аÑгÑменÑов болÑÑе, Ñем
stringName.length, он бÑÐ´ÐµÑ ÑÑакÑоваÑÑÑÑ ÐºÐ°Ðº ÑавнÑйstringName.length.
ÐÑли аÑгÑÐ¼ÐµÐ½Ñ indexA бÑÐ´ÐµÑ Ð±Ð¾Ð»ÑÑе аÑгÑменÑа indexB, Ñо меÑод substring() ÑÑабоÑÐ°ÐµÑ Ñак, как еÑли Ð±Ñ Ð°ÑгÑменÑÑ Ð±Ñли поменÑÐ½Ñ Ð¼ÐµÑÑами; напÑимеÑ, str.substring(1, 0) == str.substring(0, 1).
ÐÑимеÑÑ
>ÐÑимеÑ: иÑполÑзование меÑода substring()
Ð ÑледÑÑÑем пÑимеÑе меÑод substring() иÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ñимволов из ÑÑÑоки 'Mozilla':
var anyString = "Mozilla";
// ÐÑобÑÐ°Ð·Ð¸Ñ 'Moz'
console.log(anyString.substring(0, 3));
console.log(anyString.substring(3, 0));
// ÐÑобÑÐ°Ð·Ð¸Ñ 'lla'
console.log(anyString.substring(4, 7));
console.log(anyString.substring(7, 4));
// ÐÑобÑÐ°Ð·Ð¸Ñ 'Mozill'
console.log(anyString.substring(0, 6));
// ÐÑобÑÐ°Ð·Ð¸Ñ 'Mozilla'
console.log(anyString.substring(0, 7));
console.log(anyString.substring(0, 10));
ÐÑимеÑ: иÑполÑзование меÑода substring() вмеÑÑе Ñо ÑвойÑÑвом length
СледÑÑÑий пÑÐ¸Ð¼ÐµÑ Ð¸ÑполÑзÑÐµÑ Ð¼ÐµÑод substring() и ÑвойÑÑво length Ð´Ð»Ñ Ð¸Ð·Ð²Ð»ÐµÑÐµÐ½Ð¸Ñ Ð¿Ð¾ÑледниÑ
Ñимволов из ÑÑÑоки. ÐÑÐ¾Ñ Ð¼ÐµÑод Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð»ÐµÐ³Ñе Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°Ð½Ð¸Ñ, оÑобенно еÑли ÑÑеÑÑÑ, ÑÑо вам не нÑжно знаÑÑ Ð½Ð°ÑалÑнÑй и конеÑнÑй индекÑÑ, как ÑÑо бÑло в пÑимеÑе вÑÑе.
// ÐÑобÑÐ°Ð·Ð¸Ñ 'illa' - поÑледние 4 Ñимвола
var anyString = "Mozilla";
var anyString4 = anyString.substring(anyString.length - 4);
console.log(anyString4);
// ÐÑобÑÐ°Ð·Ð¸Ñ 'zilla' - поÑледние 5 Ñимволов
var anyString = "Mozilla";
var anyString5 = anyString.substring(anyString.length - 5);
console.log(anyString5);
ÐÑимеÑ: замена подÑÑÑоки в ÑÑÑоке
СледÑÑÑий пÑÐ¸Ð¼ÐµÑ Ð´ÐµÐ¼Ð¾Ð½ÑÑÑиÑÑÐµÑ Ð·Ð°Ð¼ÐµÐ½Ñ Ð¿Ð¾Ð´ÑÑÑоки в ÑÑÑоке. Ðн Ð·Ð°Ð¼ÐµÐ½Ð¸Ñ ÐºÐ°Ðº оÑделÑнÑе ÑимволÑ, Ñак и ÑелÑе подÑÑÑоки. ÐÑзов ÑÑнкÑии в конÑе пÑимеÑа Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ ÑÑÑÐ¾ÐºÑ 'ÐивнÑй новÑй миÑ' на ÑÑÑÐ¾ÐºÑ 'ÐивнÑй новÑй веб'.
// ÐаменÑÐµÑ oldS на newS в ÑÑÑоке fullS
function replaceString(oldS, newS, 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("миÑ", "веб", "ÐивнÑй новÑй миÑ");
ÐбÑаÑиÑе внимание, ÑÑо ÑÑнкÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ ÑкаÑиÑÑÑÑ Ð² беÑконеÑнÑй Ñикл, еÑли ÑÑÑока oldS Ñама ÑвлÑеÑÑÑ Ð¿Ð¾Ð´ÑÑÑокой Ð´Ð»Ñ newS â напÑимеÑ, еÑли Ð²Ñ Ð¿Ð¾Ð¿ÑÑаеÑеÑÑ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ñлово «миÑ» на Ñлово «дÑÑгоймиÑ». ÐÑÑÑе иÑполÑзоваÑÑÑÑ ÑледÑÑÑий меÑод Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÐ½Ñ ÑÑÑок:
function replaceString(oldS, newS, fullS) {
return fullS.split(oldS).join(newS);
}
Ðод вÑÑе ÑледÑÐµÑ ÑаÑÑмаÑÑиваÑÑ Ð²Ñего лиÑÑ ÐºÐ°Ðº пÑÐ¸Ð¼ÐµÑ ÑабоÑÑ Ñ Ð¿Ð¾Ð´ÑÑÑоками. ÐÑли вам нÑжно замениÑÑ Ð¿Ð¾Ð´ÑÑÑоки, ÑкоÑее вÑего Ð²Ñ Ð·Ð°Ñ
оÑиÑе иÑполÑзоваÑÑ Ð¼ÐµÑод String.prototype.replace().
СпеÑиÑикаÑии
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-string.prototype.substring> |