Измените определенный текст на верхний регистр перед ‘:’

#javascript #jquery

#javascript #jquery

Вопрос:

У меня есть многострочная строка, в конце строки у меня есть ‘:’. теперь я хочу изменить слово всей строки перед ‘:’ на верхний регистр. как я могу это изменить?

 var temp= "Professional Endermologie Lipomassage Total Care at £65 (35 minutes)
Professional Endermologie LPG Cellulite Smoothing Treatment at £65 (35 minutes)
Professional Inch Loss Wrap at £80 (2 hours)
Thalgo Polynesia Spa Ritual at £120 (1.30 hours)
Laser Hair removal:";


var rsdata = temp.substring(0, temp.indexOf(":"));
var rsdata = temp.split(':')[0];
data = temp.replace(rsdata, rsdata.toUpperCase());
console.log(data);
 

Вот пример кода, который я использую для изменения конкретного текста.

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

1. Что вы имеете в виду под многострочным? Перенос слов в вашем редакторе не делает его многострочным. Только n делает.

2. Привет, сэр., спасибо за ваш повтор. на самом деле я хочу изменить строку лазерной эпиляции только на верхний регистр. для этого, что я должен хотеть сделать? это мой запрос, сэр.

3. Этот код можно легко превратить в исполняемый фрагмент. Почему вы этого не сделали?

4. Привет! можете ли вы просто жестко прописать в нем заглавные буквы вместо того, чтобы пытаться добиться этого программно?

5. нет, это не статический текст, аналогично этому тексту, я хочу динамически изменять строку на верхний регистр перед ‘: ‘. это то, что я хочу

Ответ №1:

Простой пример, использование литералов шаблона для многострочной строки:

 var text = `Line 1
Line 2
Line 3
Line 4 with colon: after colon`;

text = text.replace(/. ?:/, function(match) {
    return match.toUpperCase();
});

console.log(text);