如何在javascript中使用全部大写,除非字符串包含'

时间:2017-07-15 17:51:04

标签: javascript

我有以下字符串:

A new way's to get home

输出需要:

A New Way's To Get Home

我尝试使用此代码:

var string = "A new way's to get home";

string = string.replace(/\(\d+\)/g, '').trim().replace(': ', ' - ').replace(/\b[a-z]/g,function(f){return f.toUpperCase();});

alert(string);

但我明白了:

A New Way'S To Get Home

我需要将所有的字符串设置为大写,但问题是Way' S因为它包含'并且上面的正则表达式需要返回“我不需要重写这个正则表达式以返回正确的值?”

1 个答案:

答案 0 :(得分:1)

Convert string to title case with JavaScript可能就是你要找的东西。它被称为标题案例。粘贴在下面的功能易于使用:

function toTitleCase(str)
{
    return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}

归功于Greg Dean