js截取字符串-三种方法
js截取字符串substr()方法能够根据指定长度来截取子字符串。它包含两个参数,第一个参数表示准备截取的子字符串起始下标,第二个参数表示截取的长度。示例1在下面示例中使用lastIndexOf()获取字符串的最后一个点号的下标位置,然后从其后的位置开始截取4个字符。 1. var s = "http://c.biancheng.net/index.html"; 2. var b = s.substr(s.lastIndexOf(".") + 1,4); //截取最后一个点号后4个字符3. console.log(b); //返回子字符串“html”如果省略第二个参数,则表示截取从起始位置开始到结尾的所有字符。考虑到扩展名的长度不固定,省略第二个参数会更灵活。 var b = s.substr(s.lastIndexOf(".") + 1);如果第一个参数为负值,则表示从字符串的尾部开始计算下标位置,即-1表示最后一个字符,-2表示倒数第二个字符,以此类推。这对于左侧字符长度不固定时非常有用。 ECMAScript不再建议使用该方法,推荐使JavaScript中的字符串截取是编程中常见的操作,主要涉及到三个方法:`slice()`、`substr()`和`substring()`。这三个方法都是用来从一个字符串中提取一部分新的字符串,但它们的使用方式和逻辑略有不同。我们来看`substr()`方法。`substr()`有两个参数,第一个参数是开始截取的位置,第二个参数是截取的长度。例如,在`var s = "http://c.biancheng.net/index.html"`这个字符串中,如果我们要截取最后一个点号后的四个字符,可以这样写:`s.substr(s.lastIndexOf(".") + 1, 4)`,这将返回"html"。如果省略第二个参数,`substr()`将截取从指定位置到字符串末尾的所有字符。另外,如果第一个参数为负值,它将从字符串末尾开始计算,例如`-1`代表最后一个字符,`-2`则代表倒数第二个字符。不过,由于`substr()`在最新的ECMAScript规范中不再推荐使用,开发者应逐渐转向使用`slice()`或`substring()`。接下来是`slice()`方法。`slice()`同样接受两个参数,分别是截取的开始和结束位置。它不会包含结束位置的字符。例如,如果我们想从上述URL中提取网站主机名,可以使用`slice()`或`substring()`。两者在大部分情况下的行为相似,但如果开始位置大于结束位置,`substring()`会自动交换这两个参数,而`slice()`则会返回空字符串。此外,`slice()`对负数参数的处理与数组的`slice()`方法一致,可以理解为从右侧开始计数。 `substring()`方法。它与`slice()`类似,也是根据提供的起始和结束下标来截取字符串。`substring()`不会包含结束位置的字符,且在参数值不确定或为负值时,其表现与`slice()`有所不同。如果结束位置小于开始位置,`substring()`会交换参数并执行截取,而`slice()`则返回空字符串。在判断一个字符串是否包含另一个字符串时,JavaScript提供了`indexOf()`方法。例如,`str.indexOf("2") != -1`将返回`true`,表示字符串`str`包含字符"2"。`indexOf()`返回目标字符串在源字符串中的索引,若未找到则返回-1。 `slice()`、`substr()`和`substring()`都用于字符串截取,但各有特点。在实际开发中,应根据具体需求选择合适的方法。而`indexOf()`则用于检测字符串中是否存在特定子字符串。了解这些基础知识对于编写高效、可靠的JavaScript代码至关重要。
226.27KB
文件大小:
评论区