欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

FCC Spinal Tap Case

程序员文章站 2022-03-07 18:28:37
...

FCC Spinal Tap Case

function spinalCase(str) {
  // "It's such a fine line between stupid, and clever."
  // --David St. Hubbins
  str=str.replace(str.charAt(0),str.charAt(0).toLowerCase());//将字符串首字母小写化,做不处理
  var reg=/[\s|'_'|A-Z]/g;//正则匹配替换区
  var arr=str.match(reg);//提取对应的内容
  if(arr){//如果提取到了
    for(var i in arr){
     if(arr[i]==' '||arr[i]=='_') str=str.replace(arr[i],'-');
      else if(arr[i]>='A'&&arr[i]<='Z'&&arr[i-1]!=' '&&arr[i-1]!='_'){str=str.replace(arr[i],'-'+arr[i]);}
    }
  }

  return str.toLowerCase();
}

spinalCase('This Is Spinal Tap');

 

相关标签: js