Сценарий приложений, как отформатировать ячейку в надлежащий текст (регистр)

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

Немного взлом / альтернатива, но выполняет свою работу.