JavaScript:在JS中截取字符串的方法


  這篇主要說一說截取字符串的方法,用於幫助自己縷清方法的作用,參數的意義,返回值,是否對於原來的字符串進行了操作等。

  在javascript中,常見的截取字符串的方法有slice()、substring()、substr()這三種方法,我主要為了捋清楚這三種方法的相同點與不同點,在什么情況下適用於哪一種。優雅的代碼都是從一點一滴開始的。

  slice()

    首先,我在百度上面搜索了一下slice()方法,給出的鏈接是Javascript Array對象的 slice()方法,是對數組的操作。作用是從已有的數組中返回選定的元素,返回值是一個數組,並且不會對原先的數組產生影響。

    然后我有上了W3schoole查找slice()方法,找到了Javascript String 對象的slice()方法。用於提取字符串的片段,並在新的字符串中返回被提取的部分。返回值是一個字符串,並且不會對原先的字符串產生影響。

    雖然作用對像不一樣,但是我個人覺得是一個東西。都是從原先對象里面截取出來新的東西,並且不對原先的對象有操作,返回值是根據原先的對象的類型來決定的。

    slice()有兩個參數,第一個參數可以為需要截取的起始點,第二個參數可以為截取結束的點。如果第二個參數不傳輸的畫,默認情況下會截取到當前對象的最后。

    代碼示例: 

      JavaScript Array   

<script type="text/javascript">
            var zhanShi = ["沖鋒","斷筋","巨人打擊","壓制","斬殺"];
            console.log(zhanShi);
            console.log(zhanShi.slice(1,2)); console.log(zhanShi.slice(1)); </script>

    下面是這段代碼在谷歌瀏覽器上面顯示的結果:

        

    JavaScript  String

      

<script type="text/javascript">
            var wuqiZhan = "我叫武器戰,打架開電扇。CD一分半,轉完就完蛋。";
            console.log(wuqiZhan);
            console.log(wuqiZhan.slice(2,5)); console.log(wuqiZhan.slice(6)); </script>

    下面是這段代碼在谷歌瀏覽器上面顯示的結果:

        

    當然,我們現在傳輸的都是正數,我閑的無聊,然后我就給傳了負數當作參數:

      

<script type="text/javascript">
            var str = "所以說很無奈";
            console.log(str.slice(-3));
            var arr = ["你看","傳了","負數"];
            console.log(arr.slice(-2));
        </script>

  substring() 

    substring()是用於提取字符串中介於兩個指定下標之間的字符,兩個參數,其中第一個參數是必須的,第二個參數是可選的。如果不傳第二個參數,默認情況下會提取到最后。返回值是一個新的字符串。准確的說,返回的額字符串包含了第一個參數位置的字符串,而不包含第二個參數位置的元素。

    上代碼,其他都是空談,看了代碼就明白了:

      

<script type="text/javascript">
            var bingFa = "寒冰箭呀biubiubiu,五個冰刺一發腦殘箭";
            console.log(bingFa.substring(4,13));
        </script>

    slice可以傳負數,substring可不可以呢?不可以!明確的告訴你不可義,但是卻不會報錯,只會把整個字符串都輸出出來。可是,如果你給前面的參數傳輸的比較大,后面的參數比較小,那樣會出現什么情況呢?

    

<script type="text/javascript">
            var bingFa = "寒冰箭呀biubiubiu,五個冰刺一發腦殘箭";
            console.log(bingFa.substring(13,4));
        </script>

  

看的出來,即使你把前面的參數傳輸的比后面的參數大,但是substring會自動的調整兩個參數的位置,也就是大的參數總是在后面。

   substr()

    substr()用於在字符串中從第一個參數位置起,截取到第二個指定的參數。其中第一個參數是必須的,第二個參數是可選的。如果不傳輸第二個參數的話,默認會截取到字符串最后。返回值是一個新的字符串,這個方法同樣不會對原先的字符串進行修改。這個方法並沒有被標准話,所以說,使用與否看個人吧。

    代碼:     

<script type="text/javascript">
            var shuShi = "一發腦殘箭,天人相隔永不見";
            console.log(shuShi.substr(2,3));
            console.log(shuShi.substr(-3,3));    
        </script>

上面的代碼包含的第一個參數為負值的情況。

也許我的這些東西你看着很淺顯,但這就像一磚一瓦,慢慢來嘛。我已經盡力寫的很詳細了,希望對你會有幫助。

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM