字符串練習題

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字符串題</title>
</head>
<body>
    <script>
        //截取未知的字符串
        /**
         *indexOf("指定的字符","可選,開始檢索的位置,必須是在0-length-1之間的整數")判斷是否存在於字符串中,獲得在字符串中開始位置的下標。
         *經過屬性 .length;獲得要截取的字符串長度。
         *substr("必需,開始下標,正整數從頭部開始,負整數從尾部開始","可選,要截取字符串的長度,必需是數值,若是省略改參數,那麼返回從開始到結尾的全部字符")在字符串中截取到指定的字符串。
        */
        var urlstr = "www.baidu.com";
        function checkurl(furl,surl){
            var sindex = furl.indexOf(surl);
            var eindex = surl.length;
            if(sindex > -1){
                console.log(furl.substr(sindex,eindex));
            } else {
                console.log("不在字符串中");
            }
        }
        checkurl(urlstr,"baidue");
        //反轉字符串
        /*
         *獲得字符串的長度
         *定義一個空字符串,用於儲存新的反轉後的字符串
         *循環字符串,利用charAt(index);---返回字符串中指定下標的元素
         *index === 0-字符串長度之間的數字,當作字符串中的下標,不在則返回空字符串。
        */
        function reversal(oldstr){
            var len=oldstr.length;
            var newstr="";
            //兩種循環均可以,注意賦值時的先後順序。
            // for(var i=len; i>=0;i--){
            //     newstr=newstr + oldstr.charAt(i);
            // }
            for(var i=0;i<len;i++){
                newstr = oldstr.charAt(i)+newstr;
            }
            console.log(newstr);
        }
        reversal(urlstr);
        //字符串是否只出現一次,不是話,一共出現了幾回。
        /**
         *indexOf(searchvalue,fromindex); 從首字符方向開始檢索指定的字符,並返回第一次出現位置的下標。
         *searchvalue ===  必需,規定要檢索字符串的值
         *fromindex   ===  可選整數參數。規定在字符串中開始檢索的位置,合法取值範圍在0到length-1之間若是省略則從首字符開始檢索。
         *
         *lastIndexOf(searchvalue,fromindex); 從尾字符方向開始檢索指定的字符,並返回第一次出現位置的下標。
         *searchvalue ===  必需,規定要檢索字符串的值
         *fromindex   ===  可選整數參數。規定在字符串中開始檢索的位置,合法取值範圍在0到length-1之間若是省略則從尾字符開始檢索。
         *
         *eval(string)
         *string 必需。要計算的字符串,其中要含有表達式或是要執行的語句
         *
         *match(searchvalue); 在字符串中找到指定字符,並返回該字符
         *searchvalue === 必需,規定要檢索的字符串值
         *
         *match(regxp);
         *regxp  ===  必需,規定要匹配的正則,是否有全局標誌 g .
        */
        function frequency(fstr,sstr){
            if(fstr.indexOf(sstr)>-1){
                var ifrequency = fstr.indexOf(sstr);
                var lfrequency = fstr.lastIndexOf(sstr);
                if(ifrequency===lfrequency){
                    console.log("只出現了一次");
                } else{
                    var reg = eval("/"+sstr+"/g");
                    var fre = fstr.match(reg).length;
                    console.log("共出現"+fre+"");
                }
            } else{
                console.log("在字符串中沒找到指定字符")
            }
        }
        frequency(urlstr,"baidu3");
        //替換指定的字符串
        /**
         *判斷是否在字符串中,
         *replace(regexp/substr,replacement)
         *regexp/substr === 必需,指定字符串或是要替換的正則表達式
         *replacement   === 必需,一個字符串值,要替換成什麼的文本,或是替換的函數
        */
        function exchange(oldstr,changestr,newstr){
            if(oldstr.indexOf(changestr)>-1){
                var schangestr = changestr.toString();
                var snewstr = newstr.toString();
                console.log("替換後的字符串  "+oldstr.replace(schangestr,snewstr));
            } else {
                console.log("字符串中沒有要替換的字符")
            }
        }
        var jdstr =["souuosu","shdfiohsoif"];
        exchange(urlstr,"baidu",jdstr);
    </script>
</body>
</html>
相關文章
相關標籤/搜索