[譯]Javasctipt中的substring
本文翻譯youtube上的up主kudvenkat的javascript tutorial播放單
源地址在此:
https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b
以下方法是Javascript中可以用來獲得string中的substring的方法:
substring()
substr()
slice()
substring() 方法: 這個方法有兩個參數,起始和結尾.起始參數是必須的,它決定了提取的起始位置.結尾參數不是必須,它決定了提取的終點位置.在終點位置的單字是不包括在substring裏的.如果結尾參數缺省,那麽從起始位置開始到整個string結束的部分都會被提取.如果起始參數值大於結尾參數值,那麽這個方法會自動交換兩個參數.這就是說,起始位置會變成終點位置,而終點位置則會變成起始位置
例子:提取前10個字母
var str = "JavaScript Tutorial"; var result = str.substring(0, 10); alert(result);
Output : JavaScript
如果起始參數的值大於終點參數,那麽這兩個參數會互換
var str = "JavaScript Tutorial"; var result = str.substring(10, 0); alert(result);
Output : JavaScript
substr()方法: 這個方法有兩個參數,起始和計數.起始參數是必須的,它決定了提取substring的起始位置.計數參數不是必須的,它決定了要從起始位置提取多少個字母.如果計數參數缺省,那麽從起始位置開始會提取到string末尾的所有字母.如果計數參數為0或者負數,那麽則會返回一個空string.
提取前10個字母
var str = "JavaScript Tutorial"; var result = str.substr(0, 10); alert(result);
Output : JavaScript
如果計數參數為缺省,那麽會從起始位置提取剩下string的所有字母
var str = "JavaScript Tutorial"; var result = str.substr(11); alert(result);
Output : Tutorial
slice()方法:這個方法有兩個參數,起始和結尾,起始參數為必須,它決定了提取的起始位置.結尾參數不是必須的,它決定了終點的位置.終點位置的字母不會包含在提取出的substring裏.如果終點參數缺省,那麽從起始位置開始的所有剩下string的字母都會被提取.
提取前10個字母
var str = "JavaScript Tutorial"; var result = str.slice(0, 10); alert(result);
Output : JavaScript
如果終點參數缺省,那麽從起始位置開始到string末尾的所有字母都會被提取
var str = "JavaScript Tutorial"; var result = str.slice(11); alert(result);
Output : Tutorial
substr()和substring()方法的區別
區別在於第二個參數,substring的第二個參數表示了提取結束位置的index所在.終點位置的字母是不被substring包含的.而substr()的第二個參數則表示要返回多少個字母
另外一個區別是,substr()方法是不能在IE8和更早的版本上運行的
slice()和substring()的區別
如果起始參數大於結尾參數,那麽substring()會交換兩個值的位置,但是slice()則不會
另外一個在提取substring的過程中很有用的方法就是indexOf()方法.這個方法會返回一個string中特定值的第一次遇到的位置.如果特定值沒找到則會返回-1
例子:找到email中@字母的位置
var str = "[email protected]"; var result = str.indexOf("@"); alert(result);
Output : 6
[譯]Javasctipt中的substring