【发布时间】:2013-06-19 20:26:11
【问题描述】:
我在 StackOverflow 中查看了一些关于大写的问题和答案,但找不到关于我的问题的答案。
仅当单词长度 > 2 时,我想将字符串中每个单词的首字母大写。
我的临时解决方案是:
var str = str.toLowerCase().replace(/\b[a-z]/g, function (letter) {
return letter.toUpperCase();
}).replace(/\b\w{1,2}\b/g, function (letter) {
return letter.toLowerCase();
});
有没有办法可以将两个正则表达式合二为一?
【问题讨论】:
-
在诸如“我想被'titelised'”这样的极端情况下应该发生什么?引用的词是否应该保持不变?
-
或者其他诸如“第十九修正案”或“train19”之类的,可惜语言不规范。
-
@Xotic750 该功能用于格式化名称。
-
啊哈,这让我们对你想要达到的目标有了更深入的了解,当然还有很多 2 个字符的名字,尤其是中文,“jo”、“ia”、“li "只是一些例子。所以我认为空白边界在您的用例中就足够了?
标签: javascript regex