我有一个函数,应该把字符串中每个单词的第一个字母大写,但不知何故,它提供了不正确的结果,知道为什么吗?我需要修理一下。
所以输入:hello dolly输出:hello dolly。
空格计算正确,但大写不正确。
function letterCapitalize(str) {
str = str.replace(str.charAt(0), str.charAt(0).toUpperCase());
let spaces = [];
for (let i = 0; i < str.length; i++) {
if (str[i] === ' ') spaces.push(i);
}
for (let space of spaces) {
str = str.replace(str.charAt(space + 1), str.charAt(space + 1).toUpperCase());
}
return str;
}
console.log(letterCapitalize("hello there, how are you?"));
你可以使用string.toUpperCase()
,或者如果你需要更具体的逻辑,你可以使用string.replace()
和一些正则表达式
const letterCapitalize = x => x.toUpperCase();
const letterCapitalizeWithRegex = x => x.replace(/[a-z]/g, l => l.toUpperCase());
console.log("my string".toUpperCase());
console.log(letterCapitalize("my string"));
console.log(letterCapitalizeWithRegex("my string"));
// Option One
function capitalize1( str ) {
let result = str[ 0 ].toUpperCase();
for ( let i = 1; i < str.length; i++ ) {
if ( str[ i - 1 ] === ' ' ) {
result += str[ i ].toUpperCase();
} else {
result += str[ i ];
}
}
return result;
}
// Option Two
function capitalize2(str) {
const words = [];
for (let word of str.split(' ')) {
words.push(word[0].toUpperCase() + word.slice(1));
}
return words.join(' ');
}
console.log(capitalize1('hello there, how are you?'))
console.log(capitalize2('hello there, how are you?'))
我试图编写一个函数,将字符串中每个单词的第一个字母大写(将字符串转换为标题大小写)。 例如,当输入是时,我希望是输出。然而,该函数返回。 这是我的代码:
我必须定义一个包含大写方法的Translator类。该方法将收到一个StringBuffer,它只包含英文字母和空格,并将更改它,以便每个单词都以大写字母开头。 //我需要定义的类
问题内容: Java中是否内置了一个函数,该函数可以大写字符串中每个单词的第一个字符,而不会影响其他单词? 例子: jon skeet -> Jon Skeet miles o’Brien-> Miles O’Brien(B仍然是大写字母,这排除了标题大小写) old mcdonald-> Old Mcdonald* (Old McDonald也可以找到,但我不认为它会那么聪明。) 快速浏览一下J
问题内容: 在中,有没有一种方法可以获取字符串中每个单词的第一个字母?例如: 姓名: 迈克尔·约瑟夫·杰克逊 询问: 结果: MJJ 问题答案: 此函数将针对源字符串中的多个连续空格屏蔽您的结果: 结果:
问题内容: 我有一个字符串:“ hello good old world”,我想将每个单词的每个首字母大写,而不是使用.toUpperCase()整个字符串。是否有现成的java助手可以完成这项工作? 问题答案: 看看ACL WordUtils。