簡體   English   中英

我如何將烤肉架裝入PascalCase?

[英]How do I covert kebab-case into PascalCase?

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)) 

這是一種使用string.replace()和正則表達式的方法:

 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:""})
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM