总结一些字符串的方法,分为表格索引和方法详解。其中表格索引按字母顺序排,方法详解按类型归类。方法详解的代码和代码结果以下面形式展示:
console.log("hello,javascript.")
hello,javascript.
表格索引 ——>>点这里直达方法详解
| 方法 | 描述 |
|---|---|
| charAt() | 返回指定索引位置的字符 |
| charCodeAt() | 返回指定索引位置字符的 Unicode 值 |
| concat() | 连接两个或多个字符串,返回连接后的字符串 |
| fromCharCode() | 将 Unicode 转换为字符串 |
| indexOf() | 返回字符串中检索指定字符第一次出现的位置 |
| lastIndexOf() | 返回字符串中检索指定字符最后一次出现的位置 |
| localeCompare() | 用本地特定的顺序来比较两个字符串 |
| match() | 找到一个或多个正则表达式的匹配 |
| replace() | 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 |
| search() | 检索与正则表达式相匹配的值 |
| slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分 |
| split() | 把字符串分割为子字符串数组 |
| substr() | 从起始索引号提取字符串中指定数目的字符 |
| substring() | 提取字符串中两个指定的索引号之间的字符 |
| toLocaleLowerCase() | 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射 |
| toLocaleUpperCase() | 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射 |
| toLowerCase() | 把字符串转换为小写 |
| toString() | 把一个 Number 或 数组 转换为一个字符串,并返回结果 |
| toUpperCase() | 把字符串转换为大写 |
| trim() | 移除字符串首尾空白 |
| valueOf() | 返回某个字符串对象的原始值 |
方法详解
1. 获取字符串指定位置的相关值
charAt() : 返回指定索引位置的字符!
var str = "Hello JavaScript"
console.log(str.charAt(6))
J
charCodeAt() : 返回指定索引位置字符的 Unicode 值
var str = "Hello JavaScript"
console.log(str.charCodeAt(6))
74
fromCharCode() : 将 Unicode 转换为字符串
console.log(String.fromCharCode(65))
A
2. 检索字符串
indexOf() : 返回字符串中检索指定字符第一次出现的位置;找不到返回-1;大小写敏感
var str = "hello JavaScript"
console.log(str.indexOf("a"))
console.log(str.indexOf("A"))
//接受第二个参数,代表从这里开始检索
console.log(str.indexOf("a",9))
7
-1
9
lastIndexOf() : 返回字符串中检索指定字符最后一次出现的位置;找不到返回-1;大小写敏感
var str = "hello JavaScript!!"
console.log(str.lastIndexOf("a"))
console.log(str.lastIndexOf("A"))
//接受第二个参数,代表从这里开始倒着检索
console.log(str.lastIndexOf("a",8))
9
-1
7
includes() : 判断字符串是否包含指定的子字符串,结果返回true或false。不支持正则,大小写敏感;
var str = "Hello JavaScript!!"
console.log(str.includes('He'))
console.log(str.includes("he"))
//接受第二个参数,代表开始检索的位置
console.log(str.includes("Java",11))
true
false
false
startsWith() : 检测字符串是否以指定子字符串开始。结果返回true或false。大小写敏感;第二个参数不能是负数
var str = "Hello JavaScript!!"
console.log(str.startsWith('He'))
console.log(str.startsWith("he"))
console.log(str.startsWith("Java"))
console.log(str.startsWith("Java",6))
true
false
false
true
endsWith() : 检测字符串是否以指定子字符串结尾。结果返回true或false。大小写敏感。第二个参数不能是负数
var str = "Hello JavaScript!!"
console.log(str.endsWith('!!'))
console.log(str.endsWith("llo"))
console.log(str.endsWith("llo",5))
console.log(str.endsWith("!",-1))
true
false
true
false
3. 字符串模式匹配、替换
match() : 找到一个或多个正则表达式的匹配
var str = "Hello JavaScript!!"
console.log(str.match("Java"))
console.log(str.match("JAVA"))
console.log(str.match("JavaSss"))
//匹配数字
var str="1 plus 2 equal 3"
//加上代表全局的g,否则只返回一个结果
console.log(str.match(/\d+/g))
[ 'Java', index: 6, input: 'Hello JavaScript!!', groups: undefined ]
null
null
[ '1', '2', '3' ]
search() : 检索与指定字符或正则表达式相匹配的值,返回所在位置。不接受第二个参数
var str = "I like JavaScript best 22333!!"
console.log(str.search("best"))
console.log(str.search(/\d+/g))
//忽略大小写进行匹配。只能返回一个值
console.log(str.search(/[i]+/ig))
18
23
0
小结:search() 方法无法设置第二个开始位置参数。indexOf() 方法无法设置更强大的搜索值(正则表达式)
replace() : 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
stringObject.replace(regexp/substr,replacement)
regexp/substr。必需。想要被替换掉的字符串或正则。replacement。必需。替换文本或生产替换文本的函数。
var str = "Hello JavaScript222333!!"
console.log(str.replace("a","哈"))
console.log(str.replace(/a/,"嘿"))
console.log(str.replace(/a/g,"哈"))
//忽略大小写进行匹配,替换
console.log(str.replace(/javascript/i, "javascript"))
console.log('原字符串:'+str)
Hello J哈vaScript222333!!
Hello J嘿vaScript222333!!
Hello J哈v哈Script222333!! Hello javascript222333!!
原字符串:Hello JavaScript222333!!
//将逗号前后的字母、数字、下划线互换
var name = "Doe1, _John";
console.log(name.replace(/(\w+)\s*,\s*(\w+)/,"$2 $1"))
//将双引号替换为单引号
var name1 = '"a","b"'
console.log(name1.replace(/"([^"]*)"/g, "'$1'"))
//将所有单词的首字母替换为大写
var str = 'aaa bbb ccc'
var firstword = str.replace(/\b\w+\b/g,function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);
})
console.log(firstword)
_John Doe1
'a','b'
Aaa Bbb Ccc
4. 连接字符串
concat() : 连接两个或多个字符串,返回连接后的字符串
var str1 = "Hello,"
var str2 = "JavaScript"
console.log(str1.concat(str2))
Hello,JavaScript
5. 截取字符串
slice() : 提取字符串两个指定的索引号之间的片断,并在新的字符串中返回被提取的部分。第二个参数可为负数
var str = "Hello JavaScript!!"
//切割下标2到下标8之前的字符串
var newstr1 = str.slice(2,8)
var newstr2 = str.slice(2,-2)
var newstr3 = str.slice(-12,-8)
console.log(newstr1)
console.log(newstr2)
console.log(newstr3)
console.log(str)
llo Ja
llo JavaScript
Java
Hello JavaScript!!
substr() : 从起始索引号提取字符串中指定数目的字符。
var str = "Hello JavaScript!!"
var newstr = str.substr(2,8)
//从下标2处开始切割8个字符
console.log(newstr)
console.log(str)
llo Java
Hello JavaScript!!
substring() : 提取字符串中两个指定的索引号之间的字符。第二个参数不接受负数
var str = "Hello JavaScript!!"
var newstr = str.substring(2,8)
//如果第二个参数比第一个小则调换
var newstr1 = str.substring(8,2)
console.log(newstr)
console.log(newstr1)
console.log(str)
llo Ja
llo Ja
Hello JavaScript!!
6. 分割字符串为数组
split() : 把字符串分割为子字符串数组
var str = "Hello JavaScript!!"
var arr1 = str.split()
var arr2 = str.split("a")
var arr3 = str.split("")
var arr4 = str.split(" ")
console.log(arr1)
console.log(arr2)
console.log(arr3)
console.log(arr4)
console.log(str)
[ 'Hello JavaScript!!' ]
[ 'Hello J', 'v', 'Script!!']
['H', 'e', 'l', 'l', 'o',' ', 'J', 'a', 'v', 'a','S', 'c', 'r', 'i','p','t', '!', '!']
[ 'Hello', 'JavaScript!!' ]
Hello JavaScript!!
7. 去掉字符串首尾空白
trim() : 移除字符串 首尾 空白
var str = " Hello JavaScript!! "
var newStr = str.trim()
console.log(newStr)
console.log(str)
trimStart() : 移除字符串 头部 空白
trimEnd() : 移除字符串 尾部 空白
var str = " Hello JavaScript!! "
var strarStr = str.trimStart()
var endStr = str.trimEnd()
console.log(strarStr)
console.log(endStr)
console.log("原字符串:"+str)
8. 类型转换
toString() : 把一个 Number 或 数组 转换为一个字符串,并返回结果
var num = 123
var str = num.toString()
console.log(str)
console.log(typeof(str))
123
string
valueOf() : 返回某个字符串对象的原始值
var str = "Hello JavaScript!!"
console.log(str.valueOf())
Hello JavaScript!!
9. 字符串的大小写转换
toLowerCase() : 把字符串转换为 小 写 toUpperCase() : 把字符串转换为 大 写
var str = "HELLO javascript!!"
console.log(str.toLowerCase())
console.log(str.toUpperCase())
hello javascript!!
HELLO JAVASCRIPT!!
toLocaleLowerCase() : 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() : 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
除了几种特殊语言,否则通常和toLowerCase()与toUpperCase()返回值一样
10. 其他
localeCompare() : 用本地特定的顺序来比较两个字符串 看看w3school的解释吧:www.w3school.com.cn/jsref/jsref…