Apps脚本如何将单元格格式化为适当的文本(大写)

时间:2019-04-02 07:46:46

标签: google-apps-script proper

我的工作表中有一个表格,有时我的客户以小写或大写形式输入文本,并且还带有换行符

我有这段代码可以使单元格大写并删除换行符

from a import t1
t1()  # should print absolute path for `b.py`

我需要的是使该单元格成为适当的大小写,而不是UpperCase

例如,如果文本是“你好,你好”,我想转换为“你好,你好”还是“你好,你好”

我一直在搜索,但是找不到解决方法

请帮忙吗?

谢谢

2 个答案:

答案 0 :(得分:1)

  • 您要使用Google Apps脚本从hello how ARE YOU修改为Hello How Are YouHello how are you

如果我的理解是正确的,那么该修改如何?请认为这只是几个答案之一。

此修改的流程如下。

首先,将值修改为小写。

  • 在模式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

参考:

如果您需要其他模式,可以提供它们吗?

答案 1 :(得分:0)

这是我为在其他任何人中使用apps脚本中的PROPER功能所做的事情。

首先,我使用名称(在这种情况下为客户)将函数放入单元格中。然后,我使用getDisplayValue来获取实际文本。然后将其写回到单元格中。

    customer = sht.getRange(row, col).setValue('=PROPER("'+customer+'")').getDisplayValue(); 
    sht.getRange(row, col).setValue(customer);

有点骇人听闻/替代品,但能胜任。