繁体   English   中英

特殊字符或字母后的首字母大写

[英]Capitalizing first letter after special character or letter

我是Java或regex的新手。 我需要将第一个单词字母替换为大写字母,而我的代码也可以替换,但是它也替换了特殊字符或其他字母(例如ččęėįš等)之后的字母,因此我需要避免使用它,仅更改第一个字母即可。 有人可以帮我解决这个问题吗?

我的代码在这里:

function capitalizeName(input) {
var name = input.val();
    name = name.toLowerCase().replace(/\b[a-z]/g, function(letter) {
    return letter.toUpperCase();
})
input.val(name);

然后,您需要删除带有空格的单词边界或开始锚匹配。

name = name.toLowerCase().replace(/(^|\s)[a-z]/g, function(letter) {
    return letter.toUpperCase();
})

应该为您工作:

或这个

 console.log("tihi is some rčęėįš random typing. Is it good? maby has some minor-bugs but at least works" .replace(/\\w.*?\\W/g, x => x[0].toUpperCase() + x.substr(1))) 

您必须在末尾添加non world char才能起作用。

 const data = "tihi is some rčęėįš random typing. Is it good? maby has some minor-bugs but at least works." const capitalize = data => (data + ' ').replace(/\\w.*?\\W/g, x => x[0].toUpperCase() + x.substr(1)).substr(0, data.length) console.log(capitalize(data)) 

我比较喜欢所有此类问题的非正则表达式答案,这很有趣,而且大多数情况下您不需要复杂的正则表达式

"java script is cool".split(" ").map(function(w){return w[0].toUpperCase()+w.substr(1)}).join(" ")
"Java Script Is Cool"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM