在Google Apps脚本中将字符串转换为适当/标题大小写

时间:2014-05-03 01:38:30

标签: javascript google-apps-script

如何使用Google Apps脚本将给定字符串转换为正确/标题大小写?我尝试了各种各样的javascript示例,但似乎无法使其正常工作。

2 个答案:

答案 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();