Javascript получить подстроку из строки

Строковые методы JS

В JavaScript любые текстовые данные являются строками. Не существует отдельного типа «символ», который есть в ряде других языков.

Кавычки#

В JavaScript есть разные типы кавычек.

Строку можно создать с помощью одинарных, двойных либо обратных кавычек:

Одинарные и двойные кавычки работают, по сути, одинаково, а если использовать обратные кавычки, то в такую строку мы сможем вставлять произвольные выражения, обернув их в $:

Ещё одно преимущество обратных кавычек — они могут занимать более одной строки, вот так:

Выглядит вполне естественно, не правда ли? Что тут такого? Но если попытаться использовать точно так же одинарные или двойные кавычки, то будет ошибка:

Одинарные и двойные кавычки в языке с незапамятных времён: тогда потребность в многострочных строках не учитывалась. Что касается обратных кавычек, они появились существенно позже, и поэтому они гибче.

Обратные кавычки также позволяют задавать «шаблонную функцию» перед первой обратной кавычкой. Используемый синтаксис: func string . Автоматически вызываемая функция func получает строку и встроенные в неё выражения и может их обработать. Если перед строкой есть выражение, то шаблонная строка называется «теговым шаблоном». Это позволяет использовать свою шаблонизацию для строк, но на практике теговые шаблоны применяются редко.

Спецсимволы#

Многострочные строки также можно создавать с помощью одинарных и двойных кавычек, используя так называемый «символ перевода строки», который записывается как \n:

Источник

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.
Читайте также:  Php mail smtp linux

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.

Читайте также:  Php определение http метода

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.

Источник

JavaScript метод substring()

JavaScript метод substring() позволяет извлечь символы из строки (подстроку) между двумя заданными индексами, или от определенного индекса до конца строки.

Поддержка браузерами

JavaScript синтаксис:

// извлечение символов из строки от определенного индекса до конца строки string.substring( start ); // извлечение символов из строки между двумя заданными индексами string.substring( start, end);

Версия JavaScript

Значения параметров

Параметр Описание
start Целое число, которое определяет индекс с которого производится копирование подстроки из исходной строки. Обязательный параметр.
Если в качестве значения индекса указывается отрицательное число, undefined , или значение NaN (англ. Not-a-Number, «не число»), то это значение расценивается равным нулю. Если один из параметров больше или равен длине строки, то значение расценивается равным длине строки. Если параметр start равен параметру end, то метод substring() вернет пустую строку. Если параметр start больше параметра end, то метод поменяет их значения местами.
end Целое число, которое определяет индекс до которого происходит копирование подстроки. Подстрока включает символы указанные до указанного индекса (символ по указанному индексу не включается). Необязательный параметр.
Если параметр end не используется, то метод substring() производит копирование символов до конца строки. Если в качестве значения индекса указывается отрицательное число, undefined , или значение NaN (англ. Not-a-Number, «не число»), то это значение расценивается равным нулю, если в этом случае значение параметра start окажется больше параметра end, то метод поменяет их местами.

Пример использования

var string nam">Hello world"; // инициализируем строковую переменную string.substring( 0 ); // возвращаемое значение "Hello world" string.substring( 6 ); // возвращаемое значение "world" string.substring( 10 ); // возвращаемое значение "d" string.substring( -10 ); // возвращаемое значение "Hello world" string.substring( 15 ); // возвращаемое значение "" string.substring( 0, 0 ); // возвращаемое значение "" string.substring( 1, 4 ); // возвращаемое значение "ell" string.substring( 4, 1 ); // возвращаемое значение "ell" (значения параметров меняются местами) string.substring( 0, 4 ); // возвращаемое значение "Hell" string.substring( 4, NaN ); // возвращаемое значение "Hell" (NaN расценивается как 0 и значения параметров меняются местами) 

© 2016-2023 Денис Большаков, замечания и предложения по работе сайта Вы можете направить по адресу basicweb.ru@gmail.com

Кажется, вы используете блокировщик рекламы 🙁

Этот ресурс не является коммерческим проектом и развивается на энтузиазме автора сайта, который посвящает все свое свободное время этому проекту.

Добавьте, пожалуйста, basicweb.ru в исключения блокировщика рекламы, этим вы поможете развитию проекта.

Источник

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