Frontend blog.

Обработка строк в JavaScript

// исходная строка
const str = "На ёлке ёжики ещё не перевелись";

replace(a, b) заменит a на b в строке (первое найденное значение)

str.replace("ё", "е"); // На елке  ёжики ещё не перевелись

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

str.split(" "); // ["На", "ёлке", "ёжики", "ещё", "не", "перевелись"]
// разделено по пробелам в строке

join() собирает строку из массива, соединяя по переданному значению

// разделено по "ё" и соединено по "е". То есть заменили ё на e:
str.split("ё").join("е"); // На елке ежики еще не перевелись

trim() убирает все пробелы и переносы (в том числе специальные символы пробелов и переносов)

"\n\t 123 \n\t ".trim(); // 123

substr(start, length) вернет часть строки длинной length, начиная с start

"0123456789".substr(3); // 3456789
"0123456789".substr(3, 2); // 34
"0123456789".substr(3, 5); // 34567
"0123456789".substr(3, 100500); // 3456789

// если передать отрицательный индекс, 
// то отсчет будет с конца
"0123456789".substr(-5); // 56789
"0123456789".substr(-5, 2); // 56
"0123456789".substr(-100500, 2); // 01 // если индекса нет, то берется начало строки

indexOf("Подстрока") вернет индекс позиции с которой начинает указанная подстрока

const fullname = "Максим Витальевич Фролов"
const surname = "Фролов";
// Получаем индекс фамилии в строке с полным именем.
// Если подстрока не найдена, метод вернет "-1"
const surnameIndex = fullname.indexOf(surname);

console.log('Фамилия начинается с индекса', surnameIndex);
// -> Фамилия начинается с индекса 18

// Перемещаем фамилию в начало строки, если она еще не там
if (surnameIndex > 0) {
  console.log(surname + " " + fullname.replace(surname, "").trim());
} else {
  console.log(fullname)
}
вернуться к списку