首页 > 技术文章 > javascript字符串方法总结

liumingwang 2017-05-04 11:39 原文

一、单引号字符串内部可以使用双引号,双引号字符串内部也可以使用单引号

"hello 'world'"
'welcome "to" js'

二、多行和转义

如果要在单引号字符串的内部,使用单引号(或者在双引号字符串的内部,使用双引号),就必须在内部的单引号(或者双引号)前面加上反斜杠,用来转义。

var str ="Did you \"love\" me"
var str ='Did you \'love\' me'

字符串默认只能写在一行内,分成多行将会报错。

'a
b
c'
// SyntaxError: Unexpected token ILLEGAL

上面代码将一个字符串分成三行,JavaScript就会报错

方法一:如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。

var str ="welcome come to\ 
    chongqing.welcome to\
    chongqing\
"

上面代码表示,加了反斜杠以后,原来写在一行的字符串,可以分成多行,效果与写在同一行完全一样。注意,反斜杠的后面必须是换行符,而不能有其他字符(比如空格),否则会报错。

方法二:连接运算符(+)可以连接多个单行字符串,用来模拟多行字符串。

var str ="welcome come to"+
    "chongqing.welcome to"+
    "chongqing"

三、长度计算 str.length

var str = "hello";
 console.log( str.length );//5

四、字符串截取

1、substr(a,b)第一个参数是开始的位置,第二个参数是截取的长度

var str = "welcome to javascript"
console.log(str.substr(1,3))//elc

2、substring(a,b)第一个参数是开始的位置,第二个参数是结束的位置,区间为[a,b)

var str = "welcome to javascript"
console.log(str.substring(1,3))//el

3、slice(a,b) 同上

 

五、字符串分割为数组 split(?)

var str = "we lc ome"
console.log(str.split(" "))//["we", "lc", "ome"]

六、查询子字符串

1、indexOf(?) 从字符串开头开始查找,找到返回对应坐标并退出,找不到返回-1并退出(不支持正则

var str = "we lc ome"
console.log(str.indexOf("e"))//1

2、lastIndexOf(?)从字符串末尾开始查找,找到返回对应坐标并退出,找不到返回-1并退出(不支持正则

var str = "we lc ome"
console.log(str.lastIndexOf("e"))//8

七、字符串匹配

1、match(?) 该函数在字符串上调用,并且接受一个参数(可以是正则),返回匹配的数组,否则返回null

var str = "hello my world";
var s3 = str.match(/o/g); 
console.log(s3)//["o","o"]

2、search(?) 跟indexOf()基本类似,找到匹配字符串返回对应坐标,找不到返回-1,不同之处在于,search可以使用正则表达式,indexof不能使用正则表达式,如果是查找具有某些特征的字符串(比如查找以L开头,后面是数字的字符串),那么indexOf()就无能为力,必须要使用正则表达式和search()方法了

var str = "hello my world";
var s1 = str.search(/o/g);   
console.log(s1)//4

 八、trim()方法用来删除字符串前后的空格

var str="   hello world   "; 
console.log(str.trim());//hello world 

九、replace(a,b)方法,第一个参数是要被替换的字符串,第二个参数是替换的字符串(第一个参数是一个字符,只找到最近的一个替换,第一个参数如果是正则,可以找到并替换所有符合的字符串)

//第一个参数为字符串
var
str = "hello my world"; var s2 = str.replace('o', 'your'); console.log(s2)//hellyour my world
//第一个参数为正则表单
var str = "hello my world";
    var s2 = str.replace(/o/g, 'your');
    console.log(s2)//hellyour my wyourrld

十、大小写转换

var str = "Hello";
    str.toUpperCase();//HELLO
    str.toLowerCase();//hello

  欢迎加入大前端交流群!群号:277942610,VIP新群

推荐阅读