在RegExp中使用大写单词(JQuery,JavaScript)

时间:2018-01-20 06:37:21

标签: javascript regex

我有一个字符串

var str = "string";

我希望它会被此表达式/(^[a-z])/所取代,并将被此表达式/([A-Z])/取代

这意味着它会向LowerCase

发出第一封UpperCase封信

我自己尝试过,但得到了意想不到的结果。我的代码就是这样。

"string".replace(/(^[a-z])/, /([A-Z])/);

但结果是/([A-Z])/。它捕获第一个Charecter并将其替换为/([A-Z])/作为文本

1 个答案:

答案 0 :(得分:1)

您正在将正则表达式作为方法replace的第二个参数传递,但此参数需要newSubstr|function

您可以使用replace方法并将函数作为第二个参数传递:

var str = "string";
str = str.replace(/^[a-z]/, function(match) {
  return match.toUpperCase();
});
console.log(str);

如果你想使用Javascript来大写单词“string”的第一个字母,你也可以不使用正则表达式来执行此操作:

  • 使用charAt
  • 获取字符串的第一个字符
  • 使用toUpperCase
  • 将第一个字符转换为大写字母
  • 然后例如使用偏移量为1的substring来获取字符串中的其余字符

var str = "string";
str = str.charAt(0).toUpperCase() + str.substring(1);
console.log(str);