# 截取字符串

# slice()

slice(start, length): 参数:开始位置,长度,返回字符串中提取的子字符串。

var str = "Hello World";
var str1 = str.slice(2);        // 如果只有一个参数,则提取开始下标到结尾处的所有字符串
var str2 = str.slice(2, 7);     // 两个参数,提取下标为2,到下标为7但不包含下标为7的字符串
var str3 = str.slice(-7, -2);   // 如果是负数,-1为字符串的最后一个字符。

console.log(str1);  // llo World
console.log(str2);  // llo W
console.log(str3);  // o Wor

# substring()

substring(start, end): 提取字符串中介于两个指定下标之间的字符。

注意:substring()用法与slice()一样,但不接受负值的参数。

var str = "Hello World";
var str1 = str.substring(2)
var str2 = str.substring(2,2);
var str3 = str.substring(2,7);

console.log(str1);  // llo World
console.log(str2);  // 如果两个参数相等,返回长度为0的空串
console.log(str3);  // llo W

# substr()

substr(start, length): 返回从指定下标开始指定长度的的子字符串

var str = "Hello World";
var str1 = str.substr(1)
var str2 = str.substr(1, 3);
var str3 = str.substr(-3, 2);

console.log(str1);   // ello World 
console.log(str2);   // ell
console.log(str3);   // rl

# split()

split() 把字符串分割成字符串数组。

var str = "AA BB CC DD";
var string1 = "1:2:3:4:5";
var str1 = str.split("");          // 如果把空字符串 ("")用作分割符,那么字符串的每个字符之间都会被分割
var str2 = str.split(" ");         // 以空格为分隔符
var str3 = str.split("", 4);       // 4指定返回数组的最大长度
var str4 = string1.split(":");

console.log(str1);      // ["A", "A", " ", "B", "B", " ", "C", "C", " ", "D", "D"]
console.log(str2);     // ["AA" "BB" "CC" "DD"]
console.log(str3);     // ["A", "A", " ", "B"]
console.log(str4);     // ["1", "2", "3", "4", "5"]

# match()

match(regexp): 字符串内检索指定的值,或找到一个或多个正则表达式的匹配。返回数组。

var str="To be or not to be";
var reg=/to/ig;
var str1=str.match(reg);

console.log(str1); //["To", "to"]
console.log(str.match("Hello")); //null

search(value) 查找字符串或者正则表达式,返回字符串的位置。如果没有找到任何匹配的子串,则返回 -1。

var str = "To be or not to be";
var reg = /o/ig;
var str1 = str.search(reg);
var str2 = str.search('or');

console.log(str1);     // 1
console.log(str2);     // 6