字符串连接算法挑战

本文介绍了一个用于将不同格式的字符串转换为 spinal case 形式的 JavaScript 函数。spinal case 是一种所有单词均为小写并由连字符分隔的形式。该函数能够处理包含大写字母、下划线及普通空格的输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也就是以连字符连接所有小写单词。

spinalCase("This Is Spinal Tap") 应该返回 "this-is-spinal-tap"
spinalCase("thisIsSpinalTap") 应该返回 "this-is-spinal-tap"
spinalCase("The_Andy_Griffith_Show") 应该返回 "the-andy-griffith-show"
spinalCase("Teletubbies say Eh-oh") 应该返回 "teletubbies-say-eh-oh"

function spinalCase(str) {

// "It's such a fine line between stupid, and clever."
// --David St. Hubbins
  var array=str.split(" ");
  if(array.length<=1){
    array=str.split("_");
  }
  if(array.length<=1){
    return str.replace(/([A-Z])/g,"-$1").toLowerCase();
  }
  str=array[0].toLowerCase();
  for(var i=1;i<array.length;i++){
    str=str.concat('-').concat(array[i].toLowerCase());
  }
return str;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值