在字符串中的每个破折号后添加大写字母

时间:2018-09-23 12:59:56

标签: javascript

这是我的问题所在的一个例子

let str = 'A-bb-cc-dd'

如何使它返回字符串

'A-Bb-Cc-Dd'

5 个答案:

答案 0 :(得分:0)

您可以像这样使用JS regular expressionString.replace

const result = 'A-bb-cc-dd'.replace(/(^\w|-\w)/g, c => c.toUpperCase());

console.log(result);

答案 1 :(得分:0)

您可以这样做,

let str = 'A-bb-cc-dd';
let result = (str.split('-').map(e=>e.charAt(0).toUpperCase() + e.slice(1))).join('-');
console.log(result);

答案 2 :(得分:0)

您可以用split分隔符在字符串上-,然后使用map创建一个新数组,其中第一个字符将使用uppercasedtoUpperCase,然后使用{{ 1}}重新创建字符串

join
let k = 'A-bb-cc-dd';
let convertedStr = k.split('-').map((item) => {
  return item.charAt(0).toUpperCase() + item.slice(1);
}).join('-');
console.log(convertedStr)

答案 3 :(得分:0)

您可以在replace语句中使用简单的正则表达式:

let str = 'A-bb-cc-dd'

console.log(
  str.replace(/\-[a-z]/g, match => match.toUpperCase())
)

\-[a-z]只会在短划线后匹配一个小写字母,match.toUpperCase()将字符串中的所有字母都转换为大写字母。

答案 4 :(得分:0)

使用字符串拆分,映射和联接:

let str = 'A-bb-cc-dd';
var array = str.split("-"); //console.log(array);
var result = array.map(current => {
    return current[0].toUpperCase() + current.substr(1);
});
var end = result.join("-");
console.log(end);