JavaScript(ES6)判断字符串是否包含子字符串的方法

ES6 includes

ES6的字符串新增了includes方法,我们可以用它来判断是否包含子字符串。

str.includes(searchString[, position])
  • searchString:查询的子字符串
  • position:可选,开始搜索的位置,默认为0
'Blue Whale'.includes('Blue'); // returns true
'Blue Whale'.includes('blue'); // returns false

需要注意的是,includes方法是会区分大小写。

对于不支持es6的浏览器,可以添加es6-shim,如:

require('es6-shim')

indexOf

indexOf是我们比较常用到判断是否包含子字符串的方法。如果包含子字符串,返回子字符串的索引,否则返回-1。

var string = "foo",
    substring = "oo";
if(string.indexOf(substring) == -1) {
  console.log("不包含子字符串")
} else {
  console.log("包含子字符串")
}

正则表达式

使用正则表达式有三种方式:test,match,search

1、test

var string = "foo",
    exp = /oo/;
var result = exp.test(string); 

test返回的是一个布尔值。存在返回true,否则返回false。

注意test函数调用者是正则表达式。

2、match

var string = "foo",
    exp = /oo/;
var result = string.match(exp);
console.log(result);

输出结果:["oo", index: 1, input: "foo"]

调用者是字符串,如果匹配到返回一个数组,包含了匹配到的内容:正则表达式,index和input。

3、search

var string = "foo",
    exp = /oo/;
var result = string.search(exp);

返回的是搜索到的子字符串的索引,搜索不到返回-1

版权声明:著作权归作者所有。

相关推荐

Linux shell判断字符串是否以某些字符开头

==比较使用bash检查字符串是否以某些字符开头可以使用==比较[[ $str == h* ]] 示例str="hello" if [[ $str == h* ]]; then  echo 'yes' fi 有两个地方需要注意:h*不需要使用引号括起来,使用引号括起来是直接做相等

Python判断字符串是否为数字

Python判断一个字符串是否为数字,可以分为两种情况考虑。字符为纯数字如果需要检测的数字为纯数字,不包括负号,小数点等,可以使用字符串的isdigit()函数来判断>>> a = "001" >>> a.isdigit() True >>> a = &q

Kotlin:基本类型 - 字符串

Kotlin字符串使用String表示类型,为不可变类型。字符串表示字符串有两种表示方式:单行和多行。 单行单行使用双引号把内容括起来。val s = “Hello,World” 如果需要在单行里表示换行的字符串需要对换行符转义val s = “Hello, World \n” 多行多行用来表示原始的字符串,

TypeScript:字符串转换为数字

在TypeScript,String转换为Number有以下方式:Number构造函数(推荐)let n = Number('1234') // 1234 let nan = Number('abcd') // NaN +号操作符let n = +'1234'