截取字符串方法有很多的,(不含根据传入参数截取成数组的split()方法)这里说的是子字符串,所以不说split()方法了。
slice(),substr(),substring()一共三种方法,其中各有不同,他们都可以传一个或两个参数进去,第一个参数都是起始位置,slice()和substring()第二个参数为终止位置(输出到终止位置前一个字符),而substr为字符长度,但传入负数时情况又不一样了。
这里就负数来个实例:
代码如下 | 复制代码 |
var stringValue = "Hello World"; console.log(stringValue.slice(-3)); console.log(stringValue.substring(-3)); console.log(stringValue.substr(-3)); console.log(stringValue.slice(3, -4)); console.log(stringValue.substring(-4, 3)); console.log(stringValue.substring(3, -4)); console.log(stringValue.substr(3, -4)); 输出: rld |
最后一个为空字符串,而substring吧负值转换为0,似乎就是从0到另一个参数的意思。slice()则中规中矩的负号表示倒过来数。
补充:利用正则表达式
方法2
代码如下 | 复制代码 |
<script> alert("abcdefg".match(/.*(.{2})/)[1]) </script> <script> |
还有像indexof了可以
下面的示例说明了 indexOf 方法的用法。
代码如下 | 复制代码 |
function IndexDemo(str2){ var str1 = "BABEBIBOBUBABEBIBOBU" var s = str1.indexOf(str2); return(s); } |
时间: 2024-10-31 13:08:50