Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сделать большими начальные буквы слов (https://javascript.ru/forum/misc/68954-sdelat-bolshimi-nachalnye-bukvy-slov.html)

white_raven777 19.05.2017 19:24

Сделать большими начальные буквы слов
 
Такая проблема, не могу понять как сделать большими начальные буквы слов которые находятся в одной строке

laimas 19.05.2017 20:10

alert('aaa bbb ccc dddd'.replace(/\b.{1}/g, function(v) {
    return v.toUpperCase()
}))

Nexus 19.05.2017 20:32

var text='aaa bbb'+"\n"+'ccc dddd',//Текст
	lines=text.split(/\n/gi),//Список строк
	line_num=0;//Номер строки, слова которой нужно изменить (первая строка - нуль)

lines[line_num]=lines[line_num].replace(/\b.{1}/g,function(v){
    return v.toUpperCase()
});
text=lines.join("\n");
alert(text);

laimas 19.05.2017 20:43

Цитата:

Сообщение от Nexus
text.split(/\n/gi)

А управляющие символы могут быть и в верхнем регистре? :) И модификатор g тоже не нужен.

рони 19.05.2017 20:44

white_raven777,
http://javascript.ru/php/ucwords
https://learn.javascript.ru/task/ucfirst

Nexus 19.05.2017 20:49

Цитата:

Сообщение от laimas (Сообщение 452879)
А управляющие символы могут быть и в верхнем регистре? :) И модификатор g тоже не нужен.

Мне с этими модификаторами спокойнее))

laimas 19.05.2017 23:14

Цитата:

Сообщение от Nexus
Мне с этими модификаторами спокойнее

Кашу маслом не испортишь? )

Если считать, что могут быть более одного пробела, то шаблон должен быть /\b\S/g. В остальном же, даже если это много строк это будет замена во всех, даже без модификатора m. Значит ли, что "которые находятся в одной строке" означает замену в какой либо из множества строк не известно.

рони 19.05.2017 23:18

:-? зачем указывать количество {1} ???

laimas 19.05.2017 23:29

Цитата:

Сообщение от рони
зачем указывать количество

Да, не нужно, первую же только и надо (исправлено).

PS. Что до сих пор атаки на форум, что быстрый ответ не принимает или ...?

SV0L0CH 20.05.2017 03:14

Самая оптимальная регулярка /\b\w/g
В любом случае toUpperCase сработает только для \w


Часовой пояс GMT +3, время: 05:43.