Как получить часть строки javascript

String.prototype.slice()

Метод slice() извлекает часть строки и возвращает новую строку без изменения оригинальной строки.

Интерактивный пример

Синтаксис

str.slice(beginIndex[, endIndex])

Параметры

Индекс, с которого начинать извлечение (нумерация начинается с нуля). Если аргумент отрицателен, то трактуется как str.length + beginIndex (например, если beginIndex равен -3 , то он трактуется как str.length — 3 ). Если beginIndex не является числом при проверке Number( beginIndex ) , он трактуется как 0 .

Если beginIndex больше или равен str.length , возвращается пустая строка.

Индекс, перед которым заканчивать извлечение (нумерация начинается с нуля). Символ по этому индексу не будет включён.

Если * endIndex *опущен или является undefined или больше чем str.length , slice() извлечёт всё до конца строки. Если аргумент отрицателен, то трактуется как str.length + endIndex (например, если endIndex равен -3 , то он трактуется как str.length — 3 ). Если аргумент не undefined и не является числом при проверке Number( endIndex ) , возвращается пустая строка.

Читайте также:  Work from home java programming

Если endIndex указан и меньше startIndex , то возвращается пустая строка (например, slice(-1, -3) или slice(3, 1) вернут «» ).

Возвращаемое значение

Новая строка, содержащая извлечённую часть строки.

Описание

Метод slice() извлекает текст из одной строки и возвращает новую строку. Изменения текста в одной строке не влияют на другую строку.

Метод slice() извлекает все символы до индекса endIndex , не включая сам этот индекс. Вызов str.slice(1, 4) извлечёт символы со второго по четвёртый (символы под индексами 1 , 2 и 3 ).

К примеру, вызов str.slice(2, -1) извлечёт символы с третьего по второй с конца строки.

Примеры

Пример: использование метода slice() для создания новой строки

В следующем примере метод slice() используется для создания новой строки.

let str1 = 'Приближается утро.'; let str2 = str1.slice(1, 8); let str3 = str1.slice(4, -2); let str4 = str1.slice(12); let str5 = str1.slice(30); console.log(str2); // ВЫВОД: риближа console.log(str3); // ВЫВОД: лижается утр console.log(str4); // ВЫВОД: утро. console.log(str5); // ВЫВОД: "" 

Пример: использование метода slice() с отрицательными индексами

В следующем примере метод slice() используется вместе с отрицательными индексами.

let str = 'Приближается утро.'; str.slice(-3); // вернёт 'ро.' str.slice(-3, -1); // вернёт 'ро' str.slice(0, -1); // вернёт 'Приближается утро' 

В этом примере начальным индексом считается 11 -й символ с конца строки, а конечным — 16 -й с начала.

.slice(-11, 16); // вернёт 'ается утр' 

Здесь начальным индексом считается 6 -й символ от начала строки, а конечным — 7-й с конца.

В этом примере оба индекса считаются с конца строки: 5-й для начального индекса, 1 -й для конечного.

Спецификации

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

Found a content problem with this page?

This page was last modified on 24 окт. 2022 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

Our communities

Developers

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.

Источник

String.prototype.substring()

The substring() method returns the part of the string from the start index up to and excluding the end index, or to the end of the string if no end index is supplied.

Try it

Syntax

substring(indexStart) substring(indexStart, indexEnd) 

Parameters

The index of the first character to include in the returned substring.

The index of the first character to exclude from the returned substring.

Return value

A new string containing the specified part of the given string.

Description

substring() extracts characters from indexStart up to but not including indexEnd . In particular:

  • If indexEnd is omitted, substring() extracts characters to the end of the string.
  • If indexStart is equal to indexEnd , substring() returns an empty string.
  • If indexStart is greater than indexEnd , then the effect of substring() is as if the two arguments were swapped; see example below.

Any argument value that is less than 0 or greater than str.length is treated as if it were 0 and str.length , respectively.

Any argument value that is NaN is treated as if it were 0 .

Examples

Using substring()

The following example uses substring() to display characters from the string ‘Mozilla’ :

const anyString = "Mozilla"; console.log(anyString.substring(0, 1)); // 'M' console.log(anyString.substring(1, 0)); // 'M' console.log(anyString.substring(0, 6)); // 'Mozill' console.log(anyString.substring(4)); // 'lla' console.log(anyString.substring(4, 7)); // 'lla' console.log(anyString.substring(7, 4)); // 'lla' console.log(anyString.substring(0, 7)); // 'Mozilla' console.log(anyString.substring(0, 10)); // 'Mozilla' 

Using substring() with length property

The following example uses the substring() method and length property to extract the last characters of a particular string. This method may be easier to remember, given that you don’t need to know the starting and ending indices as you would in the above examples.

const text = "Mozilla"; // Takes 4 last characters of string console.log(text.substring(text.length - 4)); // prints "illa" // Takes 5 last characters of string console.log(text.substring(text.length - 5)); // prints "zilla" 

The difference between substring() and substr()

There are subtle differences between the substring() and substr() methods, so you should be careful not to get them confused.

  • The two parameters of substr() are start and length , while for substring() , they are start and end .
  • substr() ‘s start index will wrap to the end of the string if it is negative, while substring() will clamp it to 0 .
  • Negative lengths in substr() are treated as zero, while substring() will swap the two indexes if end is less than start .

Furthermore, substr() is considered a legacy feature in ECMAScript, so it is best to avoid using it if possible.

const text = "Mozilla"; console.log(text.substring(2, 5)); // "zil" console.log(text.substr(2, 3)); // "zil" 

Differences between substring() and slice()

The substring() and slice() methods are almost identical, but there are a couple of subtle differences between the two, especially in the way negative arguments are dealt with.

The substring() method swaps its two arguments if indexStart is greater than indexEnd , meaning that a string is still returned. The slice() method returns an empty string if this is the case.

const text = "Mozilla"; console.log(text.substring(5, 2)); // "zil" console.log(text.slice(5, 2)); // "" 

If either or both of the arguments are negative or NaN , the substring() method treats them as if they were 0 .

.log(text.substring(-5, 2)); // "Mo" console.log(text.substring(-5, -2)); // "" 

slice() also treats NaN arguments as 0 , but when it is given negative values it counts backwards from the end of the string to find the indexes.

.log(text.slice(-5, 2)); // "" console.log(text.slice(-5, -2)); // "zil" 

See the slice() page for more examples with negative numbers.

Replacing a substring within a string

The following example replaces a substring within a string. It will replace both individual characters and substrings. The function call at the end of the example changes the string Brave New World to Brave New Web .

// Replaces oldS with newS in the string fullS function replaceString(oldS, newS, fullS)  for (let 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"); 

Note that this can result in an infinite loop if oldS is itself a substring of newS — for example, if you attempted to replace ‘ World ‘ with ‘ OtherWorld ‘ here.

A better method for replacing strings is as follows:

function replaceString(oldS, newS, fullS)  return fullS.split(oldS).join(newS); > 

The code above serves as an example for substring operations. If you need to replace substrings, most of the time you will want to use String.prototype.replace() .

Specifications

Browser compatibility

BCD tables only load in the browser

See also

Found a content problem with this page?

This page was last modified on Feb 21, 2023 by MDN contributors.

Your blueprint for a better internet.

MDN

Support

Our communities

Developers

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2023 by individual mozilla.org contributors. Content available under a Creative Commons license.

Источник

String.prototype.substr()

Предупреждение: Внимание: так как String.prototype.substr(…) не полностью упразднена (а лишь «удалена из стандартов по вебу»), она считается унаследованной функцией, использование которой лучше избегать там, где это возможно. Она не является частью ядра языка JavaScript и может быть удалена в будущем. Если есть возможность, используйте метод substring() .

Метод substr() возвращает указанное количество символов из строки, начиная с указанной позиции.

Интерактивный пример

Синтаксис

Параметры

Позиция, с которой начинать извлекать символы. Если передано отрицательное число, она трактуется как strLength — start , где strLength равна длине строки (например, если параметр start равен -3, то он трактуется как strLength — 3 .)

Необязательный параметр. Количество извлекаемых символов.

Возвращаемое значение

Новая строка, содержащая часть исходной, обрезанной по переданным параметрам.

Описание

Параметр start является индексом символа. Индекс первого символа равен 0, а последнего символа — на один меньше длины строки. Метод substr() начинает извлекать символы начиная с позиции start и собирая length символов (если он не достигнет раньше конца строки, в этом случае будет возвращено меньшее количество символов).

Если параметр start является положительным и он больше, либо равен длине строки, метод substr() вернёт пустую строку.

Если параметр start является отрицательным, метод substr() использует его как индекс символа, начиная с конца строки. Если параметр start отрицателен и по модулю больше длины строки, метод substr() будет использовать 0 в качестве начального индекса. Обратите внимание: описанная обработка отрицательных значений аргумента start не поддерживается JScript от Microsoft.

Если параметр length равен нулю или отрицателен, метод substr() вернёт пустую строку. Если параметр length опущен, метод substr() извлечёт все символы до конца строки.

Примеры

Использование метода substr()

var str = 'абвгдеёжзи'; console.log('(1, 2): ' + str.substr(1, 2)); // '(1, 2): бв' console.log('(-3, 2): ' + str.substr(-3, 2)); // '(-3, 2): жз' console.log('(-3): ' + str.substr(-3)); // '(-3): жзи' console.log('(1): ' + str.substr(1)); // '(1): бвгдеёжзи' console.log('(-20, 2): ' + str.substr(-20, 2)); // '(-20, 2): аб' console.log('(20, 2): ' + str.substr(20, 2)); // '(20, 2): ' 

Полифил

JScript от Microsoft не поддерживает отрицательные значения для начального индекса. Если вы хотите использовать эту возможность, вы можете использовать следующий код совместимости для обхода этой ошибки:

// only run when the substr() function is broken if ('ab'.substr(-1) != 'b')  /** * Get the substring of a string * @param start where to start the substring * @param length how many characters to return * @return */ String.prototype.substr = function(substr)  return function(start, length)  // call the original method return substr.call(this, // did we get a negative start, calculate how much it is from the beginning of the string // adjust the start parameter for negative value start  0 ? this.length + start : start, length) > >(String.prototype.substr); > 

Спецификации

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

Found a content problem with this page?

This page was last modified on 24 окт. 2022 г. by MDN contributors.

Your blueprint for a better internet.

Источник

Оцените статью