JavaScript 字符串处理(截取字符串)的方法(slice()、substring()、substr() )
1、slice() 方法 可提取字符串的某个部分,并以新的字符串返回被提取的部分; 也可用于数组的提取。
语法:
stringObject.slice(start,end)
参数 | 描述 |
---|---|
start | 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。 |
end | 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。 |
示例:
<script> //滔Roy 2021.11.19
var a1=[123,"Hello",0,"TaoRoy",789]; //数组
var a2="123456789"; //
//数组 slice
document.write(a1.slice(2) + "<br/>"); // 0,TaoRoy,789 从第3个开始,(第一个元素的索引为 0)
document.write(a1.slice(1,2) + "<br/>"); //Hello //从第2个开始(第一个元素的索引为 0) ,结束位是按个数算的(1是第一个)
document.write(a1.slice(1,4) + "<br/>"); //Hello,0,TaoRoy //从第2个开始(第一个元素的索引为 0) ,结束位是按个数算的(1是第一个)
document.write(a1.slice(-2) + "<br/>"); //TaoRoy,789 从倒数第2个开始
document.write(a1.slice(-3,-1) + "<br/>"); //0,TaoRoy 从倒数第3个开始,倒数第1个结束
//字符 slice
document.write(a2.slice(2) + "<br/>"); //3456789 从第3个开始,(第一个元素的索引为 0)
document.write(a2.slice(1,2) + "<br/>"); //2 //从第2个开始(第一个元素的索引为 0) ,结束位是按个数算的(1是第一个)
document.write(a2.slice(1,4) + "<br/>"); //234 //从第2个开始(第一个元素的索引为 0) ,结束位是按个数算的(1是第一个)
document.write(a2.slice(-2) + "<br/>"); //89 从倒数第2个开始
document.write(a2.slice(-3,-1) + "<br/>"); //78 从倒数第3个开始,倒数第1个结束
</script>
2、substring() 方法 用于提取字符串中介于两个指定下标之间的字符。
语法:
stringObject.substring(start,stop)
参数 | 描述 |
---|---|
start | 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 |
stop |
可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
示例:
<script>
var a1=[123,"Hello",0,"TaoRoy",789]; //数组
var a2="123456789"; //
//数组 substring 不适用
//字符 substring
document.write(a2.substring(2) + "<br/>"); //3456789 从第3个开始,(第一个元素的索引为 0)
document.write(a2.substring(1,2) + "<br/>"); //2 //从第2个开始(第一个元素的索引为 0) ,结束位是按个数算的(1是第一个)
document.write(a2.substring(1,4) + "<br/>"); //234 //从第2个开始(第一个元素的索引为 0) ,结束位是按个数算的(1是第一个)
document.write(a2.substring(-2) + "<br/>"); //123456789 不适用
document.write(a2.substring(-3,-1) + "<br/>"); //空白 负数不适用
</script>
3、substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
语法:
tringObject.substr(start,length)
参数 | 描述 |
---|---|
start | 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。 |
length | 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 |
示例:
<script>
var a1=[123,"Hello",0,"TaoRoy",789]; //数组
var a2="123456789"; //
//数组 substr 不适用
//字符 substr
document.write(a2.substr(2) + "<br/>"); //3456789 从第3个开始,(第一个元素的索引为 0)
document.write(a2.substr(1,2) + "<br/>"); //23 //从第2个开始(第一个元素的索引为 0) ,结束位是按个数算的(1是第一个)
document.write(a2.substr(1,4) + "<br/>"); //2345 //从第2个开始(第一个元素的索引为 0) ,结束位是按个数算的(1是第一个)
document.write(a2.substr(-2) + "<br/>"); //89 从倒数第2个开始
document.write(a2.substr(-3,-1) + "<br/>"); //空白 负数不适用
</script>
创建时间:2021.11.19 更新时间: