js字符串截取

截取字符串的三个方法substring()slice()split()对比,substr()已废弃,不作考虑~

substring(): 返回字符串的一个子串

概要

string.substring(from, to)
from : 一个非负整数,指定要提取的子串的第一个字符在string中的位置
to : 一个非负整数,比要提取的子串的最后一个字符的位置大1.如果省略这个参数,则返回的子串将持续到string的结尾
返回: 一个新的字符串,长度为to-from,内容为string的一个子串。新字符串的内容为string中从位置from到to-1的字符的副本

描述

如果from等于to,返回空字符串
如果from比to大,先交换两个参数的值,然后返回它们之间的子串
此方法不接受负参
不修改string


slice(): 提取一个子串

概要

string.slice(start, end)
start : 切片开始的索引。如果为负,将从该字符串的尾部开始计算,如-1代表最后一个字符,-2代表倒数第二个字符
end : 紧跟着切片结尾的字符串索引。如果不指定,切片将包括从start到当前字符串结尾的所有字符;如果参数为负,将从该字符串的尾部开始计算
返回: 一个新的字符串,内容为string中自start位置开始并且包含start位置,直到但不包含end位置的所有字符

描述

返回一个字符串,内容为string中的一个切片或子串。
不修改string


split(): 将一个字符串切分为一个由字符串组成的数组

概要

string.split(delimiter, limit)
delimiter : string切分处的字符串或正则表达式
limit : 可选,整数,指定已返回数组的最大长度。如果指定,最多返回数量为这个数字的子串;如果没有指定,将切分整个字符串
返回: 一个由字符串组成的数组

描述

split()方法创建并返回一个数组,内容为至多limit个给定的字符串string的子串。子串创建的方式:从string()的开头搜索到结尾,在所有匹配delimiter的文本的前后方断开。分割文本不包含在返回的子串中。但当delimiter为带圆括号的正则表达式时可返回匹配圆括号内的子串(@.@见快捷测试)


快捷测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var str1 = 'abcdef';
console.log(str1);
console.log(str1.substring(0, 3));
console.log(str1);
var str2 = 'abcdef';
console.log(str2);
console.log(str2.slice(0, 3));
console.log(str2);
console.log(str2.slice(4, -3));
var str3 = 'hello world';
console.log(str3);
console.log(str3.split(' '));
console.log(str3);
console.log(str3.split(/hello/));
console.log(str3.split(/(hello)/));
var str4 = 'hello <b>world</b>';
console.log(str4.split(/<[^>]*>/));
var str5 = 'hello hello <b>world</b>';
console.log(str5.split(/(<[^>]*>)/));
文章目录
  1. 1. substring(): 返回字符串的一个子串
    1. 1.1. 概要
    2. 1.2. 描述
  2. 2. slice(): 提取一个子串
    1. 2.1. 概要
    2. 2.2. 描述
  3. 3. split(): 将一个字符串切分为一个由字符串组成的数组
    1. 3.1. 概要
    2. 3.2. 描述
|