Страницы

Поиск по вопросам

вторник, 15 января 2019 г.

js, как в строке в каждом слове сделать первую букву в верхний регистр?

как в строке в каждом слове сделать первую букву в верхний регистр ? Точнее как сделать это регуляркой ?


Ответ

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);

Комментариев нет:

Отправить комментарий