1.4 字符串操作字符串:“abaasdffggghhjjkkgfddsssss3444343”,问题如下:1、 字符串的长度2、 取出指定位置的字符,如:0,3,5,9等3、 查找指定字符是

1.4 字符串操作
字符串:“abaasdffggghhjjkkgfddsssss3444343”,问题如下:
1、 字符串的长度
2、 取出指定位置的字符,如:0,3,5,9等
3、 查找指定字符是否在以上字符串中存在,如:i,c ,b等
4、 替换指定的字符,如:g替换为22,ss替换为b等操作方法
5、 截取指定开始位置到结束位置的字符串,如:取得1-5的字符串
6、 找出以上字符串中出现次数最多的字符和出现的次数
7、 遍历字符串,并将遍历出的字符两头添加符号“@”
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
1.4 字符串操作
字符串:“abaasdffggghhjjkkgfddsssss3444343”,问题如下:
1、 字符串的长度
2、 取出指定位置的字符,如:0,3,5,9等
3、 查找指定字符是否在以上字符串中存在,如:i,c ,b等
4、 替换指定的字符,如:g替换为22,ss替换为b等操作方法
5、 截取指定开始位置到结束位置的字符串,如:取得1-5的字符串
6、 找出以上字符串中出现次数最多的字符和出现的次数
7、 遍历字符串,并将遍历出的字符两头添加符号“@”

<script>
    var str = "abaasdffggghhjjkkgfddsssss3444343"
    console.log("abasdffggghhjjkkgfddsssss3444343")

    //1、 字符串的长度
    function getLength(arr) {
        console.log("1、 字符串的长度")
        var len = arr.length
        console.log(len)
        return len
    }

    getLength(str)

    //2、 取出指定位置的字符,如:0,3,5,9等
    function getByIndex(index, arr) {
        console.log("2、 取出指定位置的字符,如:0,3,5,9等")
        var ch = arr.charAt(index)
        console.log(ch)
        return ch
    }

    getByIndex(3, str)

    //3、 查找指定字符是否在以上字符串中存在,如:i,c ,b等
    function existStr(ch, str) {
        console.log("3、 查找指定字符是否在以上字符串中存在,如:i,c ,b等")
        var flag = str.indexOf(ch)
        console.log("若为-1意为不存在")
        console.log("开始下标:")
        console.log(flag)
        return flag
    }

    existStr("66", str)

    // 4、 替换指定的字符,如:g替换为22,ss替换为b等操作方法
    function change(before, after, str) {
        console.log("4、 替换指定的字符,如:g替换为22,ss替换为b等操作方法")

        var index = str.indexOf(before)//获取想要替换的字符的下标
        console.log(index)
        console.log(after)
        var len = before.length
        if (index != -1) {
            //sreplace()⽅法
            // 1 字符串.replace(被替换的字符串, 要替换为的字符串);
            str = str.replace(before, after)//ji将替换后的结果赋值给str
            console.log(str)
        } else {
            console.log("x想要替换的字符不存在")
        }
        return str
    }

    str = change("344", "666", str)

    // 5、 截取指定开始位置到结束位置的字符串,如:取得1-5的字符串
    function getStrByIndex(start, end, str) {
        console.log("5、 截取指定开始位置到结束位置的字符串,如:取得1-5的字符串")

        var newStr = str.slice(start, end)
        console.log(newStr)
        return newStr
    }

    getStrByIndex(0, 5, str)

    // 6、 找出以上字符串中出现次数最多的字符和出现的次数
    function maxTimes(str) {
        {
            console.log(str)
            console.log("6、 找出以上字符串中出现次数最多的字符和出现的次数")
            var arr=[]  //用来存储每个数出现的次数
            var num=0
            for (var j=0;j<str.length;j++){
                arr[j]=0
                var newStr=''  //x新字符串
                var newStrFirst=str.slice(0,j+1) //新字符串前半段
                var newStrBefore=str.slice(j+1,str.length) //新字符串前半段
                var newStrAfter=''  //新字符串后半段
                for (var i = 0; i < str.length; i++) {
                    num++
                    //slice(start,end)  从start位置开始,到end位置结束,
                    // 取不到end,他们都是索引号
                    newStrBefore=str.slice(j+1,str.length)

                    // console.log("新字符串前半段"+newStrFirst)
                    // console.log("新字符串后半段"+newStrBefore)

                    var ch=str.charAt(j)
                    // console.log("当前字符"+ch)

                    //replace()方法用于在字符串中替换字符
                    //str.replace(被替换的字符串,替换后字符串)
                    newStrAfter = newStrBefore.replace(ch, "")
                    if (newStrBefore != newStrAfter) {
                        //如果后半段修改前和修改后不一样,则替换新字符串
                        newStr=newStrFirst+newStrAfter
                        // console.log("新字符串"+newStr)
                        // console.log("新字符串长度"+newStr.length)

                        str = newStr
                        // console.log("删除后"+str)
                        i--
                        arr[j]++
                    } else {
                        console.log(str)
                    }
                }
            }
            console.log(arr)
                // [2, 0, 5, 2, 2, 3, 1, 1, 1, 2, 1, 1]
            console.log("总共运行次数:"+num)
            // 总共运行次数:264
            var max=arr[0]
            var index=0
            for (var i=0;i<str.length;i++){
                if (max<arr[i]){
                    max=arr[i]
                    index=i
                }
            }
            console.log("出现次数最多为:"+max)
            // 出现次数最多为:5
            console.log("去重后的字符串:"+str)
            // 去重后的字符串:absdfghjk643
            console.log("他在去重后的字符串中的下标:"+index)
            // 他在去重后的字符串中的下标:2
            console.log("该字符是:"+str.charAt(index))
        //    该字符是:s

        }
    }

    maxTimes(str)
    console.log(str)    //abaasdffggghhjjkkgfddsssss6664343

    // 7、 遍历字符串,并将遍历出的字符两头添加符号“@”
    console.log(" 7、 遍历字符串,并将遍历出的字符两头添加符号“@”")
    function addChar(str,ch){
        console.log("遍历前字符串:"+str)
        var newStr=''+ch
        for (var i=0;i<str.length;i++){
            newStr=newStr+str.charAt(i)+ch
        }
        console.log("遍历后字符串:"+newStr)
    //@a@b@a@a@s@d@f@f@g@g@g@h@h@j@j@k@k@g@f@d@d@s@s@s@s@s@6@6@6@4@3@4@3@
    }
    addChar(str,'@')
</script>
</body>
</html>

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值