Обработка строк в 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)
}