[英]Capitalizing first letter of each word malfunction when word contains special character
[英]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.