JavaScript String split() Method

Создание объекта String можно выполнить тремя способами:

    newString = 'new string' //создание с помощью строкового литерала
    newString = new String(object)  //создание объекта  
    newString = String(object)  

Такие объекты можно создавать неявно, строковым литералом:

var myString = 'Some text';

(строковый литерал - любая последовательность символов, заключенную в любые кавычки).
В строковом литерале можно использовать любые символы и escape-последовательности для символов которых нельзя набрать на клавиатуре:

var myString = '\u00B1';

где 00B1 - номер символа в таблице юникода.
При создании объекта с помощью литерала (текста в кавычках) создается тип объекта “String”, а при создании с помощью ключевого слова “new” создается тип “Object”, этому объекту можно напрямую назначать дополнительные свойства и методы.
У объекта String одно стандартное свойство - длина .length, которое возвращает количество символов в строке.

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

Методы доступа к символам объекта String:

  • .charAt:
var cat = "Cat";
console.log(cat.charAt(1)); // -> a

Код выведет в консоль символ с индексом 1 в строке - ‘a’ (нумерация всегда начинается с 0).

  • charCodeAt(index):
var cat = "Cat";
console.log(cat[1]);  // -> a

Код возвращает код символа в позиции index.

В отличие от большинства нескриптовых языков в JavaScript однажды созданную строку нельзя изменять, ее можно только считывать. Для изменения строки ее нужно создавать заново:

var cat = "Cat";
console.log(cat.charAt(2) + cat.charAt(1) + cat.charAt(0));  // -> taC

Код в данном примере выведет содержимое строки в обратном порядке.

Слияние и разделение строк

concat(string1, string2, ..., stringN) - объединяет строки
split('разделитель') - разделяет строки на массив подстрок по разделителю

Сoncat

var a = "first line";
var b = " second line";
var c = " third line";
result = a.concat(b , c);
console.log(result);
first line second line third line

Split

function testSplit(a) {
    var x = a.split("-");
    return(x);
}

console.log(testSplit("one-two-three-four-five"));

код выведет в консоль будет (массив):

[ 'one', 'two', 'three', 'four', 'five' ]

Строка разбивается по указанному разделителю (тире), который в финальный массив не входит. Если разделитель не найден или не указан, то в результирующем массиве будет только один элемент - вся строка.
У метода split есть необязательный параметр - максимальное количество элементов в массиве. Все элементы больше указанного числа будут отброшены.

function testSplit(a) {
    var x = a.split("-", 3);
    return(x);
}
console.log(testSplit("one-two-three-four-five"));
[ 'one', 'two', 'three' ]

Преобразование регистра

toLowerCase() - преобразование всех букв в строке к нижнему регистру
toUpperCase() - преобразование всех букв в строке к верхнему регистру
toLocaleLowerCase() - преобразование всех букв в строке к нижнему регистру
toLocaleUpperCase() - преобразование всех букв в строке к верхнему регистру

Методы toLocaleLowerCase() и toLocaleUpperCase() возвращают значение строки, преобразованное в нижний и верхний регистр согласно правилам преобразования регистра локали. Методы не изменяют значение самой строки. В большинстве случаев они возвращают тот же результат, что и методы toLowerCase() и toUpperCase(), но для некоторых локалей, в которых правила преобразования регистра отличаются от правил по умолчанию принятых в Юникоде, они могут вернуть другой результат.

var cat = "Cat";
console.log(cat.toLocaleLowerCase(), cat.toLowerCase());
console.log(cat.toLocaleUpperCase(), cat.toUpperCase());
cat cat
CAT CAT

Возвращение части строки

substring(indexA[, indexB]) - возвращает часть строки начиная с позиции indexA, но не включая indexB
slice( indexA[, indexB] ) - возвращает часть строки начиная с позиции indexA, но не включая indexB
substr(indexA[, length]) - возвращает часть строки начиная с позиции indexA, в количестве_length_
replace(regexp, newSubString|function) - возвращает новую строку после замен, указанных в regexp (регулярное выражение), или функцию, которая ее возвращает.

var newString = "Hello World!";
console.log(newString.substring(0, 5));
Hello

Поиск подстроки в строке

indexOf(searchValue[, fromIndex]) - поиск подстроки searchValue начиная с позиции fromIndex
lastIndexOf(searchValue[, fromIndex]) - возвращает индекс последнего вхождения указанного значения в строковый объект String, на котором он был вызван, или -1, если ничего не было найдено. Поиск по строке ведётся от конца к началу, начиная с индекса fromIndex. search(regExp) - проверка на совпадение с аргументом, результат true или false
match(regExp) - выдает массив всех совпадений с аргументом

var myString = "search for substring searchValue starting at position fromIndex";
console.log(myString.indexOf("sea", 0));  // -> 0
console.log(myString.indexOf("sea", 7));  // -> 21
var myString = "search for substring searchValue starting at position fromIndex";
console.log(myString.lastIndexOf("sea"));  // -> 21
console.log(myString.lastIndexOf("sea", 20));  // -> 0

Преобразование типов

fromCharCode(num1, num2,...,numN) - создает элементарную строку из значений символов Юникода

myString = String.fromCharCode(65, 66, 67);
console.log(myString);  // -> ABC

toString() - возвращает элементарную строку вместо объекта String
valueOf() - возвращает элементарную строку вместо объекта String, эквивалентно toString()

myString = new String("Hello world");
console.log(myString.valueOf()); // -> Hello world


Go to JavaScript tutorial