Страницы

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

понедельник, 6 января 2020 г.

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

#javascript #регулярные_выражения


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


Ответы

Ответ 1



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

Ответ 2



Если среда поддерживает стандарт ECMAScript 2018, можно использовать (? $0.toUpperCase())); (?

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

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