Skip to content

Strings methods

garevna edited this page Sep 13, 2018 · 21 revisions

📖 Методы работы со строками

📁 Операции ➡️ Сложение строк
📁 Методы строк ➡️ padStart & padEnd
➡️ indexOf() ➡️ slice () ➡️ substring ()
➡️ substr () ➡️ toLowerCase () ➡️ toUpperCase ()
➡️ split () ➡️ trim () ➡️ charAt ()
➡️ charCodeAt () ➡️ repeat () ➡️ replace ()
📁 Дополнительно ➡️ Методы объекта String ➡️ Переменные в литералах

📒 Сложение строк

Две символьные строки можно просто сложить

Например, в результате выполнения следующего кода:

var  str_1 = "Привет, ",   str_2 = "студент"
console.log ( str_1 + str_2 )

в консоли будет: Привет, студент

📒 indexOf()

Этот метод позволяет найти подстроку в строке:

"my new book".indexOf ( "new" )

Он вернет индекс элемента, с которого начинается подстрока в строке

Например, после выполнения кода:

console.log ( "my new book".indexOf ( "new" ) )

в консоли будет 3 ( нумерация символов в строке начинается с 0 )

После выполнения кода:

var mainString = "Дела идут неплохо"
var pos = mainString.indexOf ( "идут" )
console.log ( pos )

в консоли будет 5

⚠️ Если указанная подстрока не будет найдена в текущей строке, то метод indexOf() вернет значение -1

📒 slice ()

Этот метод извлекает часть строки и возвращает извлеченную часть

Исходная строка не меняется

Метод принимает 2 числовых параметра:

  1. индекс символа в строке, с которого начинать извлечение подстроки

  2. индекс символа в строке, до которого продолжать извлечение

( "до которого" означает, что этот символ не будет включен в извлекаемую подстроку )

Например, в результате выполнения следующего кода:

var name = "Меня зовут Мария".slice ( 11, 16 )
console.log ( name )

в консоли будет: Мария

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
М е н я з о в у т М а р и я

Аналогичный результат мы получим в результате выполнения кода:

    var str = "Меня зовут Мария"
    var name = str.slice ( 11, str.length )
    console.log ( name )

где str.length - длина строки, которая на единицу больше индекса последнего символа в строке ( потому что нумерация символов начинается с нуля )

Таким образом, если мы хотим извлечь фрагмент строки с какой-то позиции и до самого конца, то этот вариант будет наиболее подходящим

Если методу передать в качестве параметров отрицательные числа, то отсчет будет вестись от конца строки

-16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
М е н я з о в у т М а р и я
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
str.slice ( -11, -6 )                    // вернет  "зовут"
str.slice ( -str.length, str.length )    // вернет  "Меня зовут Мария"
str.slice ( -11, str.length )            // вернет  "зовут Мария"
str.slice ( -13, str.length )            // вернет  "я зовут Мария"
str.slice ( -15, -1 )                    // вернет  "еня зовут Мари"
str.slice ( -16, -1 )                    // вернет  "Меня зовут Мари"
str.slice ( -16,  0 )                    // вернет  "" ( пустую строку )

Можно опустить второй аргумент:

str.slice ( -str.length )                // вернет  "Меня зовут Мария" ( всю строку )
str.slice ( 5 )                          // вернет  "зовут Мария" ( до конца строки )

📒 substring ()

Извлекает подстроку из строки

Исходная строка не меняется

Этот метод похож на slice (), но не допускает отрицательных значений аргументов

"Хорошего дня".substring ( 9, 15 )       // "дня"

Если не указывать второй параметр, извлекать будет до конца строки:

"Хорошего дня".substring ( 9 )          // "дня"

📒 substr ()

Извлекает подстроку из строки

Этот метод похож на slice (), но второй аргумент указывает длину извлекаемой подстроки

Исходная строка не меняется

var str = "Веселый денек был сегодня"
console.log ( str.substr ( 8, 5 ) )

в консоли будет: денек

var str = "Веселый денек был сегодня"
console.log ( str.substr ( 0, 7 ) )

в консоли будет: Веселый

📒 toLowerCase ()

Преобразует символы строки к нижнему регистру

var str = "ВЕСЕЛЫЙ ДЕНЕК БЫЛ СЕГОДНЯ"
console.log ( str.toLowerCase () )

в консоли будет: веселый денек был сегодня

📒 toUpperCase ()

Преобразует символы строки к верхнему регистру

var str = "веселый денек был сегодня"
console.log ( str.toUpperCase () )

в консоли будет: ВЕСЕЛЫЙ ДЕНЕК БЫЛ СЕГОДНЯ

📒 split ()

Разбивает строку на массив подстрок и возвращает массив

Исходная строка не изменяется

Аргументом является символ-разделитель, по которому будет происходить "расчленение" строки

Если в качестве разделителя использовать пустую строку, то строка будет разбита на символы

var str = "веселый денек был сегодня"
console.log ( str.split ( 'е' ) )

в консоли будет: [ "в", "с", "лый д", "н", "к был с", "годня" ]

var str = "one | two | three | four | five | six"
console.log ( str.split ( ' | ' ) )

в консоли будет: [ "one", "two", "three", "four", "five", "six" ]

📒 trim ()

Удаляет пробелы в начале и в конце строки

var str = "   54   "
console.log ( str.trim () )

в консоли будет: 54

📒 charAt ()

Возвращает символ, находящийся в заданной аргументом позиции строки

var str = "ХОРОШО"
console.log ( str.charAt ( 4 ) )

в консоли будет: Ш

📒 charCodeAt ()

Возвращает код символа, находящегося в заданной аргументом позиции строки

var str = "ХОРОШО"
console.log ( str.charCodeAt ( 4 ) )

в консоли будет: 1064

var str = "1234567"
console.log ( str.charCodeAt ( 4 ) )

в консоли будет: 53

📒 repeat ()

Возвращает новую сроку, содержащую заданное аргументом число копий исходной строки

var str = "ХОРОШО! "
console.log ( str.repeat ( 4 ) )

в консоли будет: ХОРОШО! ХОРОШО! ХОРОШО! ХОРОШО!

📒 replace ()

Возвращает новую строку, в которой заданная подстрока заменена на новое значение

Аргументы: заменяемая подстрока, подстрока-заменитель

var str = "Ты провалился! "
console.log ( str.replace ( "провалился", "победил" ) )

в консоли будет: Ты победил!

📒 Методы объекта String

У встроенного нативного объекта String есть несколько статических методов, которые позволяют манипулировать содержимым строк

Вызывать эти методы можно только как методы объекта String ( String.имя_метода )

📒 String.fromCharCode ()

Это метод возвращает строку из символов, коды которых перечислены в аргументах функции ( в круглых скобках )

Например, код

String.fromCharCode ( 123, 105, 125 )

вернет строку "{i}"

📒 Переменные в литералах

Конструкция ${ имя_переменной } позволяет вставлять значения переменных непосредственно в литерал строки:

var cities = [ "Неаполь", "Вашингтон", "Женева" ]

for ( var i = 0; i < cities.length; i++ ) {
        console.log ( `Город: ${ cities [ i ] } порядковый номер: ${ i }` )
}

❗ Литерал строки заворачивается в символы обратных кавычек ( ` )

📒 padStart & padEnd

ES8 ( 2017 )

Методы padStart () и padEnd () дополняют строку другой строкой до тех пор, пока результирующая строка не достигнет указанной длины

Дополняющая строка будет повторяться необходимое число раз

Первый аргумент - результирующая длина строки

Второй аргумент - строка-заполнитель

Если второй аргумент опущен, то заполнение происходит символом пробела

padStart дополняет строку слева

padEnd дополняет строку справа

☕ 1

"Google".padStart(5)               //  "Google"
"Google".padStart(10)              //  "    Google"
"Google".padStart(10).padEnd(15)   //  "    Google     "
"Google".padStart( 10, "789" )
        .padEnd( 15, "45" )        //  "7897Google45454"

☕ 2

var cities = [ "Неаполь", "Вашингтон", "Женева" ]

for ( var city of cities ) {
        console.log ( `Город: ${ city.padEnd (16) } ( ${ cities.indexOf ( city ) } )` )
}
/*  Output:

Город: Неаполь          ( 0 )
Город: Вашингтон        ( 1 )
Город: Женева           ( 2 )

*/

🔗 MDN 🔗 String Methods 🔗 String Reference

© Irina H.Fylyppova 2018
Использование данных материалов или любой их части коммерческими школами ( курсами ) является нарушением авторских прав


Новая версия


1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19

Занятие 1

⤵️

Занятие 2

⤴️ ⤵️

Занятие 3

⤴️ ⤵️

Занятие 4

⤴️ ⤵️

Занятие 5

⤴️ ⤵️

Занятие 6

⤴️ ⤵️

Занятие 7

⤴️ ⤵️

Занятие 8

⤴️ ⤵️

Занятие 9

⤴️ ⤵️

Занятие 10

⤴️ ⤵️

Занятие 11

⤴️ ⤵️

Занятие 12

⤴️ ⤵️

Занятие 13

⤴️ ⤵️

Занятие 14

⤴️ ⤵️

Занятие 15

⤴️ ⤵️

Занятие 16

⤴️ ⤵️

Занятие 17

⤴️ ⤵️

Занятие 18

⤴️ ⤵️

Занятие 19

⤴️ ⤵️

⤴️

ico20 Дополнительно
dir-20 Справочная инфо

Clone this wiki locally