「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」。
1.1.字符串转换
可以使用以下三种方法将任何类型的数据转换为字符串。
1.1.1.+
var num = 100
var numStr = "" + num //"100"
//或者
var numStr = num + "" //"100"
1.1.2.toString()
var num = 100
var numStr = num.toString() //"100"
1.1.3.String()
var num = 100
var numStr = String(num) //"100"
1.2.字符串拼接
1.2.1.+
var str1 = "hello"
var str2 = "world!"
var newStr = str1 + " " + str2 //hello world!
1.2.2.concat()
concat() 方法可以将多个字符串进行拼接。
用法:stringObject.concat(arg1,arg2,.....)
arg:可以有多个参数。
var str1 = "hello"
var str2 = "world!"
var str3 = "everyone!"
var newStr = str1.concat(' ', str2, str3) //hello world!everyone!
1.2.3.join()
join() 方法用于把数组中的所有元素转换一个字符串。
用法:arrayObject.join(separator)
separator:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
var arr1 = ['cat','pig']
var str1 = arr1.join()
console.log(str1)//cat,pig
1.3.字符串分割
1.3.1.split()
split() 方法可以把一个字符串分割成字符串数组。
用法:stringObject.split(arg1,arg2)
arg1:必选,值可以是字符串或正则表达式,表示指定要切割的地方。(返回数组含用来指定切割的字符)
arg2:可选,返回数组的最大长度。
var str = "hello,world!"
var arr1 = str.split('') //['h', 'e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd', '!']
var arr2 = str.split(',') //['hello', 'world!']
var arr3 = str.split('',5) //['h', 'e', 'l', 'l', 'o']
1.4.字符串提取
1.4.1.slice()
slice() 方法可以提取字符串的某个部位,并以新的字符串返回被提取的部分。
用法:stringObject.slice(start,end)
start:必选,指定开始位置的下标,从0开始。如果为负数,那么指从字符串的尾部开始算起的位置(-1 指最后一个字符,-2 指倒数第二个字符,以此类推)。
end:可选,指定结束位置的下标。如果不指定,则从开始位置提取到原字符串的结尾。如果为负数,那么指从字符串的尾部开始算起的位置(-1 指最后一个字符,-2 指倒数第二个字符,以此类推)。
slice() 方法返回的子字符串包括start处的字符,但不包括end处的字符。
var str = "hello,world!"
var newStr1 = str.slice(2) //llo,world!
var newStr2 = str.slice(2,5) //llo
var newStr3 = str.slice(-3) //ld!
var newStr4 = str.slice(-3,-1) //ld
1.4.2.substring()
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
用法:stringObject.substring(start,end)
start:必选,非负,指定开始的位置下标,从0开始。
end:可选,非负,指定结束的位置下标。
substring() 方法返回的子字符串包括start处的字符,但不包括end处的字符。
var str = "hello,world!"
var newStr1 = str.substring(2) //llo,world!
var newStr2 = str.substring(2,5) //llo
1.4.3.substr()
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
用法:stringObject.split(start,length)
start:必选,指定开始的位置下标,从0开始。如果为负数,那么指从字符串的尾部开始算起的位置(-1 指最后一个字符,-2 指倒数第二个字符,以此类推)。
length:可选,字符串中的字符数。必须是数值。如果不指定,那么返回开始位置到结尾的字符串。
var newStr1 = str.substr(2) //llo,world!
var newStr2 = str.substr(2,5) //llo,w
1.5.字符串替换
1.5.1.replace()
replace() 方法可以查找一个字符串中指定的字符并替换成想要的字符。
用法:stringObject.replace(arg1,arg2)
arg1:必选,值可以是字符串或正则表达式,表示需要查找的字符。
arg2:必选,表示需要替换的字符。
var str = "我是你爸爸!"
var newStr = str.replace('爸爸','爹') //我是你爹!
1.6.查找子字符串
1.6.1.indexOf()
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到匹配的字符串则返回 -1。
用法:stringObject.indexOf(searchvalue,start)
searchvalue:必须,规定需检索的字符串值。
start:可选,开始检索的位置,取值范围从0开始,一直到stringObject.length - 1。如果不指定,则将从字符串的首字符开始检索。
var str = "hello everyone, welcome to china!"
var index1 = str.indexOf("welcome") //16
var index2 = str.indexOf("welcome",3) //16
1.6.2.lastIndexOf()
lastIndexOf() 方法可返回某个指定的字符串值最后出现的位置,如果没有找到匹配字符串则返回 -1 。
用法:stringObject.lastIndexOf(searchvalue,start)
searchvalue:必须,规定需检索的字符串值。
start:可选,开始检索的位置,取值范围从0开始,一直到stringObject.length - 1。如果不指定,则将从字符串的最后一个字符开始检索。
注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。
var str = "hello everyone, welcome to china! welcome to the world!"
var index1 = str.lastIndexOf("welcome") //34
var index2 = str.lastIndexOf("welcome",20) //16
var index3 = str.lastIndexOf("welcome",3) //-1
1.7.获取字符串的长度
1.7.1.length
var str = "hello,world!"
var num = str.length //12
1.8.删除字符串首尾的空格
1.8.1.trim()
注意:只能删除字符串首尾的空格,不能删除字符串中间的空格。
var str = " hello , world! "
var newStr = str.trim() //hello , world!
1.9.返回指定位置的字符或其字符编码值
1.9.1.charAt()
charAt() 方法可返回某个指定位置的字符。
用法:stringObject.charAt(index)
index:必须,表示字符串中某个位置的数字,即字符在字符串中的下标。
var str = "hello,world!"
var newStr = str.charAt(1) //e
1.9.2.charCodeAt()
charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数 。
用法:stringObject.charCodeAt(index)
index:必须,表示字符串中某个位置的数字,即字符在字符串中的下标。
var str = "hello,world!"
var newStr = str.charCodeAt(1) //101
1.10.字符串匹配
1.10.1.match()
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配 。
用法:stringObject.match(regexp)
regexp:必须,规定要匹配的模式的 RegExp 对象。
var str="The rain in SPAIN stays mainly in the plain";
var arr1 = str.match(/ain/g) //['ain', 'ain', 'ain']
var arr2 = str.match(/ain/) //[0: "ain", groups: undefined, index: 5, input: "The rain in SPAIN stays mainly in the plain"]
1.10.2.search()
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,其返回值是字符串中第一个与 regexp 相匹配的子串的起始位置,如果没有找到任何匹配的子串,则返回 -1。
用法:stringObject.search(regexp)
regexp:必须,可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。
注意:search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。
var str="The rain in SPAIN stays mainly in the plain";
var arr1 = str.search(/ain/) //5
var arr2 = str.search("ain") //5
1.10.3.exec()
exec() 方法用于检索字符串中的正则表达式的匹配,返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
用法:RegExpObject.exec(string)
string:必须,要检索的字符串。
var str="The rain in SPAIN stays mainly in the plain";
var arr1 = (/ain/g).exec(str) //[0: "ain", groups: undefined, index: 5, input: "The rain in SPAIN stays mainly in the plain"]
var arr2 = (/ain/).exec(str) //[0: "ain", groups: undefined, index: 5, input: "The rain in SPAIN stays mainly in the plain"]
1.11.字符串大小写转换
1.11.1.toLowerCase()
toLowerCase() 方法用于把字符串转换为小写。
var str = "Hello World!"
var newStr = str.toLowerCase() //hello world!
1.11.2.toUpperCase()
toUpperCase() 方法用于把字符串转换为大写。
var str = "Hello World!"
var newStr = str.toUpperCase() //HELLO WORLD!
1.12.字符串比较
1.12.1.localeCompare()
localeCompare() 方法用于用本地特定的顺序来比较两个字符串。如果字符串在字母表中应该排在字符串参数之前,则返回一个负数;如果字符串等于字符串参数,则返回0;如果字符串在字母表中应该排在字符串参数之后,则返回一个正数。
用法:stringObject.search(string)
var str = "green"
var num1 = str.localeCompare("black") //1
var num2 = str.localeCompare("green") //0
var num3 = str.localeCompare("yellow") //-1
1.13.Unicode 值转字符串
1.13.1.fromCharCode()
fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
用法:String.fromCharCode(unicodeNum)
var str = String.fromCharCode(104,101,108,108,111) //hello