如何将字符串中每个单词的第一个字母大写

Rea*_*ado 1 apache-flex string actionscript-3 flex4.6

我正在使用 Flex SDK,并且能够将每个单词的第一个字母大写,如下所示:

textInput.text.toLowerCase().replace(/\b./g,function(...m):String{return m[0].toUpperCase()})
Run Code Online (Sandbox Code Playgroud)

这很好用,但是标点符号后的字母也大写,这在某些情况下有效(例如 O'Neil),但在其他情况下无效(例如 Connah'S Quay)。

我想让代码只查看字符串开头的字母和空格后的字母。任何人都可以提供在这种情况下使用的正确代码吗?

gMi*_*ian 6

这个片段可能有帮助:

function firstLetterUpperCase(strData:String):String 
{
    var strArray:Array = strData.split(' ');
    var newArray:Array = [];
    for (var str:String in strArray) 
    {
       newArray.push(strArray[str].charAt(0).toUpperCase() + strArray[str].slice(1));
    }
    return newArray.join(' ');
}

//testing
var strs = "Testing cases (e.g. o'Neil) and others (e.g. connah's quay)."
trace(firstLetterUpperCase(strs));
Run Code Online (Sandbox Code Playgroud)

结果是:

//Testing Cases (e.g. O'Neil) And Others (e.g. Connah's Quay).
Run Code Online (Sandbox Code Playgroud)