JS学习笔记:短线连接格式

前言

提示:文中题目引用自:https://chinese.freecodecamp.org


一、题目描述

短线连接格式将字符串转换为短线连接格式。 短线连接格式是小写单词全部小写并以破折号分隔。

二、测试数据:

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。
spinalCase("AllThe-small Things") 应返回 all-the-small-things。

三、解题思想:

  1. 先将靠在一起的单词分开,例如:AllThe-small Things转成:All The-small Things
  2. 使用replace函数与正则表达式,将字母间的非字母字符全部转换为“-”
  3. 使用toLowerCase()转为小写

四、通过代码:

function spinalCase(str) {
  let arr = [];
  let len = str.length;
  
  //将单词分开,例如:AllThe-small Things转成:All The-small Things
  for(let i=1;i<str.length;i++){
    if((str[i-1]>='a'&&str[i-1]<='z') && (str[i]>='A'&&str[i]<='Z')){
        str = str.slice(0,i) + " " + str.slice(i);
    }
  }
  
  str=str.replace(/(\W|["_"])/g,'-');//将单词之间的连接符号换为“-”
  str = str.toLowerCase();//转换为小写字母

  return str;
}
spinalCase("AllThe-small Things")

总结

保持创造力:编程也是一种艺术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值