Google脚本应用-单元格中输入字符串的每个单词的首字母大写

时间:2019-03-22 14:13:11

标签: google-apps-script capitalize proper

我正在寻找一种解决方案,将输入字符串的每个单词大写到用空格或点分隔的单元格中(类似于proper函数)。我知道它坏了,但是到目前为止我尝试过:

    /*Capitalize Firt Letter of Each Word of input String in Cell*/
  if(activeRow > 1 && activeCol == 3 && ss.getSheetName() == validSheet && activeCell.isBlank() == false)
  { 
    var inputVal = activeCell.getValue().toString();
    Logger.log(inputVal);
    activeCell.setFormulaR1C1("=PROPER("+inputVal+")");
  }

示例:

单元格A2的输入:

this tExt neEds to be fixed

单元格A2的输出(所需结果):

This Text Needs To Be Fixed

预先感谢

编辑1:我注意到适当的功能将无法工作,因为它需要其中的单元格值。

1 个答案:

答案 0 :(得分:1)

这是一个接受字符串并将每个单词的首字母大写的函数:

(100, 150)

您可以这样使用它:

function capitalizePhrase(phrase) {
  var reg = /\b(\w)/g;
  function replace(firstLetters) {
    return firstLetters.toUpperCase();
  }
  capitalized = phrase.replace(reg, replace);
  return capitalized;
}

编辑-如果您还想将单词中的其他字母设置为小写,则可以改用以下功能:

var inputVal = activeCell.getValue().toString();
var outputVal = capitalizePhrase(inputVal);
activeCell.setValue(outputVal);