首字母大写并删除字符串中的 space
Capitalize first letter and remove space in string
获得一些代码来将字符串中每个单词的首字母大写。有人可以帮我更新它,以便在第一个字母被封顶后它也会删除字符串中的所有空格。
return function (str) {
return str.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1);
});
}
您可以使用一个简单的辅助函数,例如:
return function (str) {
return str.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1);
}).replace(/\s/g, "");
}
试试这个:
var input = 'lorem ipsum dolor sit amet';
// \w+ mean at least of one character that build word so it match every
// word and function will be executed for every match
var output = input.replace(/\w+/g, function(txt) {
// uppercase first letter and add rest unchanged
return txt.charAt(0).toUpperCase() + txt.substr(1);
}).replace(/\s/g, '');// remove any spaces
document.getElementById('output').innerHTML = output;
<div id="output"></div>
您还可以使用一个正则表达式和一个替换:
var input = 'lorem ipsum dolor sit amet';
// (\w+)(?:\s+|$) mean at least of one character that build word
// followed by any number of spaces `\s+` or end of the string `$`
// capture the word as group and spaces will not create group `?:`
var output = input.replace(/(\w+)(?:\s+|$)/g, function(_, word) {
// uppercase first letter and add rest unchanged
return word.charAt(0).toUpperCase() + word.substr(1);
});
document.getElementById('output').innerHTML = output;
<div id="output"></div>
Page 有一个很好的示例,说明如何将 JavaScript 中字符串中的每个单词大写:http://alvinalexander.com/javascript/how-to-capitalize-each-word-javascript-string
作为替代方案,您可以在 space 上拆分字符串,将每个单词大写,然后再次将它们重新组合在一起:
"pascal case".split(' ').map(word => word.charAt(0).toUpperCase() + word.substring(1) ).join('')
获得一些代码来将字符串中每个单词的首字母大写。有人可以帮我更新它,以便在第一个字母被封顶后它也会删除字符串中的所有空格。
return function (str) {
return str.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1);
});
}
您可以使用一个简单的辅助函数,例如:
return function (str) {
return str.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1);
}).replace(/\s/g, "");
}
试试这个:
var input = 'lorem ipsum dolor sit amet';
// \w+ mean at least of one character that build word so it match every
// word and function will be executed for every match
var output = input.replace(/\w+/g, function(txt) {
// uppercase first letter and add rest unchanged
return txt.charAt(0).toUpperCase() + txt.substr(1);
}).replace(/\s/g, '');// remove any spaces
document.getElementById('output').innerHTML = output;
<div id="output"></div>
您还可以使用一个正则表达式和一个替换:
var input = 'lorem ipsum dolor sit amet';
// (\w+)(?:\s+|$) mean at least of one character that build word
// followed by any number of spaces `\s+` or end of the string `$`
// capture the word as group and spaces will not create group `?:`
var output = input.replace(/(\w+)(?:\s+|$)/g, function(_, word) {
// uppercase first letter and add rest unchanged
return word.charAt(0).toUpperCase() + word.substr(1);
});
document.getElementById('output').innerHTML = output;
<div id="output"></div>
Page 有一个很好的示例,说明如何将 JavaScript 中字符串中的每个单词大写:http://alvinalexander.com/javascript/how-to-capitalize-each-word-javascript-string
作为替代方案,您可以在 space 上拆分字符串,将每个单词大写,然后再次将它们重新组合在一起:
"pascal case".split(' ').map(word => word.charAt(0).toUpperCase() + word.substring(1) ).join('')