如何使用Google Apps脚本将给定字符串转换为正确/标题大小写?我尝试了各种各样的javascript示例,但似乎无法使其正常工作。
答案 0 :(得分:1)
这是我在Google Docs帮助中找到的内容:
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Capitalize', 'proper')
.addToUi();
}
function proper() {
var arr = [],
s = SpreadsheetApp.getActiveSheet();
s.getRange('A2:A')
.getValues()
.forEach(function (r) {
if (r[0]) arr.push([toTitleCase(r[0])])
});
s.getRange(2, 2, arr.length, arr[0].length)
.setValues(arr);
}
function toTitleCase(str) {
return str.replace(/\w\S*/g, function (txt) {
return txt.charAt(0)
.toUpperCase() + txt.substr(1)
.toLowerCase();
});
}
答案 1 :(得分:0)
一些实验,这是有效的
var final = "proper title please";
var tempindex = 0;
var tempchar = new Array();
function capitalize()
{
tempchar=final.split("");
tempchar[tempindex]=tempchar[tempindex].toUpperCase();
final=tempchar.join("");
tempindex = final.indexOf(" ", tempindex)+1;
if (final.search(/ [a-z]/) != -1) {
capitalize();
} else {
return final;
}
}
capitalize();