1

我有一个表格出现在我的工作表中,有时我的客户以小写或大写输入文本,以及换行符

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

var val = responses.getRange( i + 1 , 13).getValue();
    val = val.replace(/\n/g,", ");
    responses.getRange( i + 1 , 13).setValue(val.toUpperCase());

我需要的是使该单元格正确大小写,而不是大写

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

我一直在寻找这个,但我找不到解决方案

请问有什么帮助吗?

谢谢

4

2 回答 2

3
  • 您想从hello how ARE YOUHello How Are YouHello how are you使用 Google Apps 脚本进行修改。

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

该修改的流程如下。

首先,将值修改为小写。

  • 在模式 1 中,每个单词的第一个字符都修改为大写。
  • 在模式 2 中, value 的第一个字符修改大写。

示例脚本:

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

参考:

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

于 2019-04-02T08:48:55.550 回答
0

这是我为了在应用程序脚本中为其他任何人使用 PROPER 函数所做的。

首先,我使用名称(在本例中为客户)将函数放入单元格中。然后我使用 getDisplayValue 来获取实际文本。然后把它写回牢房。

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

有点黑客/替代,但可以完成工作。

于 2020-04-28T15:59:23.243 回答