1. 程式人生 > >[譯]Javasctipt中的substring

[譯]Javasctipt中的substring

獲得 slice style tput .com amp email bstr 過程

本文翻譯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