компилируется...
Перейти к основному содержанию
Рекомендовать во Вконтакте Рекомендовать в Фейсбуке Рекомендовать в Твиттере

Изучаем метод split в JavaScript на примерах

Метод разделения строк Javascript разделяет объект строки на массив строк путем разделения строки на подстроки.

Интересно, как разделить строку на javascript? Ниже приведены варианты метода разделения строк js, о которых вы узнаете в этой заметке.

Что за метод split в Javascript?

Метод JavaScript split() разделяет строку на массив строк путем разделения строки на подстроки:

  • метод split используется для разделения строки на массив подстрок.
  • метод split возвращает новый массив.
  • метод split не изменяет исходную строку.

Общий синтаксис метода split в JavaScript

string.split(separator, limit)

separator - это необязательный параметр. Он определяет символ, или регулярное выражение. Если вы не предоставите разделитель, он вернет полную строку в виде массива.

limit - это необязательный параметр. Он определяет, сколько раз следует разделить совпадающее значение. Если лимит не указан, то он будет разделен на все совпадающие значения и вернет массив.

Примечание: В разделителе, если используется пустая строка (""), то строка делится между каждым символом.

JavaScript разделение строки по пробелу

const str = "Welcome To Devacademy";
const re = str.split(" ");
console.log(re);

Result/Output
["Welcome", "To", "Devacademy"];

Split с помощью разделителя и ограничителя

const str2 = "example two of str split";
const re = str2.split(" ", 1);
console.log(re);

Result/Output
["example"]

Javascript split по запятой

Следующий пример иллюстрирует "Как разделить строку, разделенную запятыми, с помощью javascript".

var myString = 'this,is,an,comma';
 var mySplits = myString.split(","); 
 console.log(mySplits);

Result/Output
[ "this", "is", "an", "comma" ]

JavaScript, split по слешу с помощью регулярного выражения (regex)

Мы можем разделить строку по слешу, применяя регулярное выражение.

var myString = 'this/is/slash';
var mySplits = myString.split(/[\\\/]/); 
console.log(mySplits);

Result/Output  
[ "this", "is", "slash" ]

Split по индексу

Следующий пример split функции в JavaScript иллюстрирует "как разделить строку по определённому индексу".

function splitByIndex(value, index) {
  return value.substring(0, index) + "," + value.substring(index);
}

const result = splitIndex("3362174", 3);
console.log(result);

Result/Output 
336,2174

Split по регулярному выражению

Мы можем разделить строку, используя регулярное выражение.

const date = "04-29-2017";
const mySplits = date.split(/[.,\/ -]/);
console.log(mySplits);

Result/Output
[ "04", "29", "2017" ]

Split строки по разделителям

const delimiter = "abcd+wxyz-ghi";
const separators = [' ', '\\\+', '-', '\\\(', '\\\)',
'\\*', '/', ':', '\\\?'];
console.log(separators.join('|'));

const result = delimiter.split(new RegExp(separators.join('|'), 'g'));
console.log(result);

Result/Output
[ "abcd", "wxyz", "ghi" ]

Split по заглавным буквам

const myString = 'HelloLetsSplitString';
const mySplits = myString.split(/(?=[A-Z])/);
console.log(mySplits);
 
Result/Output
[ "Hello", "Lets", "Split", "String" ]

JavaScript split, чтобы получить первый элемент

const myString = "welcome_to_split function";
const mySplits = myString.split(/_(.+)/)[0];
console.log(mySplits);

Result/Output
welcome

JavaScript split строки на массив

split() функция расщепляет строку на массив строк, разбивая строку на подстроки.

const arrayString = "Regular Expression";
const myArraySplits = arrayString.trim().split(" ");
console.log(myArraySplits);
 
Result/Output 
[Regular,Expression]

Если вы хотите разобрать строку JSON в массив, следующий пример иллюстрирует это.

var fullData ='{"fname":"Thomas","lname":"Cook","city":"Miami",
"state":"Florida", "Hobbies":"golf,trading,chess,fishing"}';
var data = JSON.parse(fullData);
var getHobbies = data.Hobbies;
var getHobbiesArray = getHobbies.split(",");
console.log(getHobbiesArray);
 
Result/Output 
[golf,trading,chess,fishing]

Javascript split строки на фрагменты

const myString = '0204161980';
const myChunkSplits = myString.match(/.{1,2}/g); 
console.log(myChunkSplits);

Result/Output  
["02", "04", "16", "19", "80"]

Преобразование строки в символьный массив с помощью метода разделения строк split

const myString = "Hello JavaScript Array!";
const myCharacterSplit = myString.split(''); 
console.log(myCharacterSplit);
 
Result/Output
["H", "e", "l", "l", "o", " ", "J", "a", 
"v", "a", "s", "c", "r","i", "p", "t"," ",
"A", "r", "r", "a","y","!"]

Получение ошибки: split is not a function?

Вы можете столкнуться с ошибкой "TypeError: string.split is not a function" , это происходит, когда вы вызываете метод split() не на строке, JS runtime не найдет метод .split() для этого типа данных. для таких сценариев вы должны обеспечить передачу строки в вашу функцию.

Вот пример:

const test = Hello Javascript;
result = test.split(" ");
console.log(result);

Приведенный выше отрывок JavaScript выдаст ошибку "TypeError: string.split is not a function", так как здесь мы пытаемся разделить переменную test ( Hello Javascript ), которая не является строковым типом.

Корректное объявление этой split функции должно выглядеть следующим образом:

const test = "Hello Javascript";
result = test.split(" ");
console.log(result);

Здесь мы объявили переменную test строкой (добавили строковые кавычки "" в Hello Javascript), в результате получится Hello, Javascript.

Javascript split по новой строке

Следующий пример вернет массив строк при использовании метода split() разделённые по новой строке (\n).

const arraytest = "cat\nrat";
result = arraytest.split("\n");
console.log(result);

Result/Output
["cat", "rat"] 

Использование split вместе с Map (ES6)

const string = "country:Finland, city:Helsiniki,";
const strvalue = string.split(",").map(pair=>pair.split(":"));
const result = new Map(strvalue);
console.log(result.get("country") );

Result/Output
"Finland"

Перевернуть строку в Javascript с помощью split

const result = 'reversestring'.split('').reverse().join('') ;
console.log(result);
Result/Output
"gnirtsesrever"

Комментарии

Пока что нет комментариев, вы можете быть первым.
Войти или Регистрация , чтобы оставлять комментарии.

Лучшие публикации

Популярные теги

Наш сайт использует куки. Узнайте больше о нашем использовании куки: политика в отношении файлов cookie
Наш сайт существует только благодаря показу онлайн-рекламы нашим посетителям.
Пожалуйста, поддержите нас, отключив блокировку рекламы.