как в строке в каждом слове сделать первую букву в верхний регистр ? Точнее как сделать это регуляркой ?
Ответ
let str = 'исходная Строка дЛЯ теста';
let res = str.replace(/(?:^|\s)(\S)/ug, m => m.toUpperCase());
console.log(res);
(?:^|\s) - начало строки или пробельный символ
(\S) - непробельный символ с захватом для замены
Насколько я знаю, в js regexp нет аналога \b для unicode.
В некоторых случаях, эта регулярка не подойдёт(из-за отсутствия пробелов): а,б,в
Проще всего использовать класс \p{L}
let str = 'исходная Строка дЛЯ теста(раз,два,три)';
let res = str.replace(/(?:^|[^\p{L}])(\p{L})/ug, m => m.toUpperCase());
console.log(res);
Комментариев нет:
Отправить комментарий