#google-apps-script #proper
#google-apps-script #заглавными буквами
Вопрос:
У меня есть форма, которая появляется на моем листе, и иногда мои клиенты вводят текст в нижнем или верхнем регистре, и aso с разрывами строк
У меня есть этот код, чтобы сделать ячейку ПРОПИСНОЙ и удалить разрывы строк
var val = responses.getRange( i 1 , 13).getValue();
val = val.replace(/n/g,", ");
responses.getRange( i 1 , 13).setValue(val.toUpperCase());
Что мне нужно, так это перевести эту ячейку в надлежащий регистр, а не в верхний регистр
Например, если текст «привет, как ДЕЛА», я хочу преобразовать в «Привет, как дела» или также в «Привет, как дела»
Ответ №1:
- Вы хотите изменить с
hello how ARE YOU
наHello How Are You
иHello how are you
с помощью Google Apps Script.
Если я правильно понимаю, как насчет этой модификации? Пожалуйста, подумайте об этом как об одном из нескольких ответов.
Процесс этой модификации следующий.
Сначала значение изменяется на нижний регистр.
- В шаблоне 1 первые символы каждого слова изменяются на заглавные.
- В шаблоне 2 первый символ значения изменяет верхний регистр.
Пример сценария:
var val = "hello how ARE YOU";
var pattern1 = val.toLowerCase().replace(/b[a-z]/ig, function(match) {return match.toUpperCase()});
var pattern2 = val.toLowerCase().replace(/^[a-z]/i, function(match) {return match.toUpperCase()});
console.log(pattern1) // Hello How Are You
console.log(pattern2) // Hello how are you
Ссылка:
Если вам нужны другие шаблоны, вы можете их предоставить?
Ответ №2:
Вот что я сделал, чтобы использовать СООТВЕТСТВУЮЩУЮ функцию в apps script для кого-либо еще.
Сначала я помещаю функцию в ячейку, используя имя (в данном случае customer). Затем я использовал getDisplayValue для получения фактического текста. Затем записал его обратно в ячейку.
customer = sht.getRange(row, col).setValue('=PROPER("' customer '")').getDisplayValue();
sht.getRange(row, col).setValue(customer);
Немного взлом / альтернатива, но выполняет свою работу.