1. 程式人生 > >關於擷取字串substr和substring兩者的區別

關於擷取字串substr和substring兩者的區別

寫在前面的話:

蒼天啊,大地啊 ,看,看,這是啥?

雞凍啊,部落格還是有人在看的~,哈哈哈,繼續加油~

今天分辨一下js中substr和substring的區別

1.w3school 二者的定義

 1)substr

       定義:substr() 方法可在字串中抽取從 start 下標開始的指定數目的字元。

       用法:   stringObject.substr(start,length)    

start 必需。要抽取的子串的起始下標。必須是數值。如果是負數,那麼該引數宣告從字串的尾部開始算起的位置。也就是說,-1 指字串中最後一個字元,-2 指倒數第二個字元,以此類推。
length 可選。子串中的字元數。必須是數值。如果省略了該引數,那麼返回從 stringObject 的開始位置到結尾的字串。

      案例:

      ①  substr 只傳一個引數

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var str="Hello world!"
 7 
 8 document.write(str.substr(3))
 9 
10 </script>
11 
12 </
body> 13 </html>

       輸出:

      

字串從第3位開始擷取,截止到最後

②  substr 傳兩引數

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var str="Hello world!"
 7 
 8 document.write(str.substr(3,7))
 9 
10 </script>
11 
12 </body>
13 </html>

輸出:

字串從第3位開始擷取,開始數7個

2)substring 

    定義: substring() 方法用於提取字串中介於兩個指定下標之間的字元。

    用法: stringObject.substring(start,stop)

start 必需。一個非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。
stop

可選。一個非負的整數,比要提取的子串的最後一個字元在 stringObject 中的位置多 1。

如果省略該引數,那麼返回的子串會一直到字串的結尾。

    案例: 

    ①   substring 只傳一個引數

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var str="Hello world!"
 7 
 8 document.write(str.substring(3))
 9 
10 </script>
11 
12 </body>
13 </html>

輸出:

字串從第3位開始擷取,擷取到最後

②  substring 傳兩引數

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var str="Hello world!"
 7 
 8 document.write(str.substring(3,7))
 9 
10 </script>
11 
12 </body>
13 </html>

輸出:

字串從第3位開始擷取,擷取座標為7的字元

2.對比

相同點:二者傳一個引數的時候,功能都一樣

不同點:

     substr: 可以傳負數,負數從字串的尾部開始算起的位置

     兩個引數 ,後一個是 從擷取位置 數若干 長度 ,length

     substring: 兩個引數 ,後一個是 從擷取位置到該座標 ,stop

    一個  length , 一個 stop

   這個易懂,哈哈哈,  

   最後祝各位1024節快樂,加班慶祝一下~~