返回标题大小写,尊重单词中间的大写字母
Return Title Case respecting capital letters in middle of word?
不确定这是否是重复的(不确定我如何搜索才能确定找到它,因为我的 google-fu 今天很弱)
我有一些javascript代码可以将每个单词的第一个字母转换为大写。我需要更改它,使其尊重您可能在姓氏中看到的古怪大写(例如:McGuire,MacGonnacle,O'Brien)。
从本质上讲,这个想法是强制每个单词的第一个字母大写,但如果以大写形式输入,则不要将所有其他字母转换为小写。
这是代码片段:
function properCase(str) {
str = str.toLowerCase();
return str.replace(/('b)([a-z'WA-Z'W])/g,
function (firstLetter) {
return firstLetter.toUpperCase();
});
}
这可能是因为这是周末的一天结束,但我需要进行哪些修改?
你有大部分,只需删除 str.toLowerCase();
function properCase(str) {
return str.replace(/('b)([a-z'WA-Z'W])/g,function (firstLetter) {
return firstLetter.toUpperCase();
});
}
运行properCase('mcCormick')
返回McCormick
编辑:
看看正则表达式,我认为您可能不需要整个表达式(尽管这取决于您的用例,就像所有事情一样)
function properCase(str) {
return str.replace(/(?:^|'s)([a-z])/,function (firstLetter) {
return firstLetter.toUpperCase();
});
}
这将大写任何以字母开头的单词的开头。 Ex properCase('mcCormick is *an excellent duelist')
退货"McCormick Is *an Excellent Duelist"
相关文章:
- 当鼠标悬停在文本中的单词上时显示警报
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 拆分单词jquery
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 如何让程序检查所选单词中是否有按键
- 如何在悬停时流畅地更改单词
- EmberJS中支持单字母单词模型
- 字母计数:返回重复字母数最多的第一个单词
- 如何在Javascript中从字符串中提取某些单词
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- Regex获取每个单词的中间部分javascript
- 考虑到我在JavaScript中使用.replace.更改了特定单词中间的另一个字符,我如何在该单词之前添加字符
- 在 n 个字符之后剪一个字符串,但如果它在一个单词的中间,则剪掉整个单词
- JS热键在表单中单词的中间添加字母
- 返回标题大小写,尊重单词中间的大写字母
- 只允许在单词的中间、结尾或开头使用某些字符,而不强制使用某些长度
- JavaScript RegEx新手-从三个单词字符串中选择中间单词
- 如何查找html元素是否应用了换行,并且该单词在文本中间断开
- javascript正则表达式将不带模式的单词与中间的文本进行匹配