当前位置: 代码迷 >> JavaScript >> 我如何将烤肉架装入PascalCase?
  详细解决方案

我如何将烤肉架装入PascalCase?

热度:94   发布时间:2023-06-07 16:38:13.0
var text = "welcome-to-a-New-day";
toPascalCase(text); // "WelcomeToANewDAY"
toCamelCase(text); // "WelcomeToANewDAY"

我如何将其转换为PascalCasecamelCase

完全兼容ES5的方法是,使用此简单的正则表达式/-\\w/g查找所有短划线,后跟字母数字字符。 然后只需删除破折号和大写字符即可。

对于pascal情况,也可以通过使用^\\w|-\\w检查字符串中的第一个字符来实现。 其余部分相同。

以下是几个示例:

 console.log(toCamelCase("welcome-to-a-New-day")); console.log(toPascalCase("welcome-to-a-New-day")); console.log(toCamelCase("bsd-asd-csd")); console.log(toPascalCase("bsd-asd-csd")); function toCamelCase(text) { return text.replace(/-\\w/g, clearAndUpper); } function toPascalCase(text) { return text.replace(/(^\\w|-\\w)/g, clearAndUpper); } function clearAndUpper(text) { return text.replace(/-/, "").toUpperCase(); } 

您可以使用replaceRegExp

 let string = "welcome-to-a-New-day" function toPascalCase(str){ let arr = str.split('-'); let last = arr[arr.length - 1]; str = str.replace(/-\\w/g,(x) => `${x[1].toUpperCase()}`) str = str[0].toUpperCase() + str.substring(1,str.length - last.length) + last.toUpperCase(); return str; } function toCamelCase(str){ return str.replace(/-\\w/g,(x) => `${x[1].toUpperCase()}`) } console.log(toPascalCase(string)) console.log(toCamelCase(string)) 

这是一种使用和正则表达式的方法:

 const camelCase = str => str.replace(/\\s*-\\s*\\w/g, parts => parts[parts.length-1].toUpperCase()); const pascalCase = str => camelCase(str).replace(/^\\w/, s => s.toUpperCase()); const cases = str => ({ pascal: pascalCase(str), camel: camelCase(str) }); console.log(cases('welcome-to-a-New-day')); console.log(cases('welcome -to-a- New - day')); 

 const myString = 'welcome-to-a-New-day'; function capitalize(string) { // take first character, uppercase it // add the rest of the string return string.charAt(0).toUpperCase() + string.slice(1); } function pascalize (string) { // splitting words by dash const words = string.split('-') // use capitalize function to capitalize every word const capitalized = words.map(word => capitalize(word)) // glue up words with .join() return capitalized.join('') } function camelize (string) { // splitting words by dash const words = string.split('-') // use capitalize function to capitalize every but first word const capitalized = words.map((word, index) => { if (index === 0) return word return capitalize(word) }) // glue up words with .join() return capitalized.join('') } console.log(pascalize(myString)) console.log(camelize(myString)) 

你去

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

    function getPascalFromSnake(input){
      return input.split("-").map(capitalizeFirstLetter).join("")
    }

    function getCamelFromSnake(input){
      var toReturn = getPascalFromSnake(input);
      return toReturn.charAt(0).toLowerCase() + toReturn.slice(1);
    }
function getCase(str) {
  let arr= str.split("-");

  return arr.reduce((acc, word,i)=>{
      let lower = word.toLowerCase(),
            cap = lower.slice(0,1).toUpperCase() + lower.slice(1);

      return {
         camel: i === 0 ? lower : acc.camel + cap,
         pascal: acc.pascal + cap
     }
  },{camel:"",pascal:""})
}
  相关解决方案