#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())); (?
Комментариев нет:
Отправить комментарий