首页 > 编程语言 >每日算法:驼峰转换,判断连续字符

每日算法:驼峰转换,判断连续字符

时间:2022-10-21 00:24:08浏览次数:56  
标签:字符 arr 驼峰 index 首字母 算法 str 字符串

每日算法

今日是:

1、将字符串转换为驼峰格式

2、判断字符串中是否有连续重复的字符

将字符串转换成驼峰格式

// css 中经常有类似 background-image 这种通过 - 连接的字符,通过 javascript 设置样式的时候需要将这种样式转换成 backgroundImage 驼峰格式,请完成此转换功能:
// 以 - 为分隔符,将第二个起的非空单词首字母转为大写 // -webkit-border-image 转换后的结果为 webkitBorderImage // “font-size” // “fontSize”
/*题目分析: 1.明确驼峰格式是第二个字符串开始的字符串首字母大写,第一个字符串首字母小写 2.思路:首先通过-,可以判断字符串首字母的位置 3.一般情况:第一个要求是去掉-后,第一个字符串不变,第二个字符串的首字母大写 特殊情况:-在开头,第一个字符串在-后面, 4.解决思路:先按照一般情况处理,最后取出字符串的首字母转换为小写,符合题意 */

点击查看代码

function cssStyle(str){
    var arr = str.split('')
    while(arr.indexOf('-')!==-1){
        //从头开始检索,返回-的索引位置
        const index =arr.indexOf('-');
        // 删除从index位置开始的一个元素
        arr.splice(index,1);
        // -后面的第一个字母迁移到-的位置,转换为大写
        arr[index] = arr[index].toUpperCase()
    }
    arr[0] = arr[0].toLowerCase();
    return arr.join('');   
}
var str = '-font-size';
console.log(cssStyle(str))

字符串中连续重复的字符

// 给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 false

// 示例1
// 输入
// 'rattler'
// 输出
// true

// 思路:注意连续重复,是指相连的两个字符相同,若有这种字符则能输出布尔值,要考虑是采用判断输出,还是采用方法。
// 这里两种方法采用test判断str中是否有符合正则式的内容,find是判断字符串切割形成的数组中是否有符合函数的元素
// 易错:没有考虑到连续情况

点击查看代码
// 方法1:
function containsRepeatingLetter(str) {
    return /([a-zA-Z])\1/.test(str);
}
// 方法2:
function aa(str){
    let arr = str.split('')
    let item = arr.find((item,index) => arr[index] == arr[index+1])
    return item ? true : false
}

var str =  'ralerr'
console.log(containsRepeatingLetter(str))
console.log(aa(str))

标签:字符,arr,驼峰,index,首字母,算法,str,字符串
From: https://www.cnblogs.com/Allerge/p/16812085.html

相关文章

  • python | 算法-拓扑排序
    写在前面:我自己用python练习算法与数据结构的典型算法汇总在这里:汇总-算法与数据结构-python版,欢迎翻阅!1️⃣参考链接:https://github.com/algorithmzuo/algorithmbasic......
  • 技巧:设置条件字符串
       并没太多可讲的有趣的一点在于判断识别码是否正确的时候,为了能够判断“X”的情况,我使用了if语句,但是实际上,我们使用一个长的字符串mod[20]=“0123456789X”就可......
  • 通俗易懂谈强化学习之Q-Learning算法实战
     Datawhale干货 作者:知乎KingJames,伦敦国王大学​前言:​​上篇​​介绍了什么是强化学习,应大家需求,本篇实战讲解强化学习,所有的实战代码可以自行下载运行。本篇使用强化......
  • 【java json基础】字符串转json json转字符串 json数组转换 【java基础知识】【实用】
    读书就是:从薄读厚,再从厚读薄的过程。(前部分:问答,后部分:测试举例)         数据测试:举例:      ......
  • [图像算法] Linemod算法研究 (一)
    Linemod算法研究(一)开始研究传统图像处理算法,近期不再做任何deeplearning相关内容,请暂时不要咨询我deeplearning相关的东西。。。先了解一下大致工作流程:ref:Grad......
  • 【Python】第3章-14 字符串字母大小写转换
    本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不......
  • 【Python】第3章-13 字符串替换
    本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母A ZB YC XD W… …X CY BZ A输入格式:输入在一行中给出一个不超过80个字符、......
  • 用Transformer实现OCR字符识别!
     Datawhale干货 作者:安晟、袁明坤,Datawhale成员在CV领域中,transformer除了分类还能做什么?本文将采用一个单词识别任务数据集,讲解如何使用transformer实现一个简单的OCR文......
  • "百钱买百鸡"的优化算法
       最近独到一篇关于"百钱买百鸡"的Python编程,觉得挺有意思,索性自己改写一下优化算法。   原题目:#我国古代数据加张邱建在《算经》中提出一个著名的数序为......
  • xml转义字符
    &lt;<小于号&gt;>大于号&amp;&和&apos;’单引号&quot;"双引号......