小写字母表中的所有字母除了第一个字母和字母串的首字母大写?-javascript

jas*_*san 1 javascript string

即如果我有一个输入字符串:

input ='你好世界,怎么了?'

我想要一个输出字符串:

desiredOutput ='Hello World,whats up?'

如果字符串中任何单词的第一个字母已经是大写字母,请保持原样.

小智 11

word = word.charAt(0) + word.substring(1).toLowerCase();
Run Code Online (Sandbox Code Playgroud)

  • @Theo 通常我会同意你写的内容,但这个答案是不言自明的。 (7认同)
  • 欢迎来到堆栈溢出。虽然您的代码可能会提供问题的答案,但请在其周围添加上下文,以便其他人了解它的作用以及原因。 (4认同)

Krz*_*ski 9

function upperCaseFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}

function lowerCaseAllWordsExceptFirstLetters(string) {
    return string.replace(/\w\S*/g, function (word) {
        return word.charAt(0) + word.slice(1).toLowerCase();
    });
}

var input = 'hello World, whatS up?';
var desiredOutput = upperCaseFirstLetter(lowerCaseAllWordsExceptFirstLetters(input));

console.log(desiredOutput);
Run Code Online (Sandbox Code Playgroud)

基于:

如何在JavaScript中创建字符串大写的第一个字母?

如何将每个单词的首字母大写,如双字城市?


G.C*_*ont 6

我试图做同样的事情,但我找到了一种更短的方法:

function formatString(str) {
  return str
    .replace(/(\B)[^ ]*/g, match => (match.toLowerCase()))
    .replace(/^[^ ]/g, match => (match.toUpperCase()));
}

var text = "aaa BBB CCC";
console.log(formatString(text));
Run Code Online (Sandbox Code Playgroud)