字符串的方法总结
Posted var-chu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串的方法总结相关的知识,希望对你有一定的参考价值。
字符串的方法总结:
1. length 属性返回字符串的长度
var str = '1234567'
console.log(str.length) // 7
2. indexOf() 方法返回字符串中指定文本__首次__出现的索引
3. lastIndexOf() 方法返回字符串中指定文本__最后__出现的索引
var str = 'China'
console.log(str.indexOf('China')) // 0 如果是字符串按一个来
console.log(str.indexOf('C')) // 0 返回的是下标 从 0 开始
console.log(str.indexOf('w')) // -1 没有则返回 -1
// 两种方法都接受作为检索起始位置的第二个参数 缩小搜查范围
var str = "The full name of is the People's Republic of China.";
console.log(str.indexOf("China")); // 45
console.log(str.indexOf("China", 11)); // 45
3. 有三种提取部分字符串的方法:
- slice(start, end)
- substring(start, end) // 类似于 slice() 不同之处在于 substring() 无法接受负的索引。
- substr(start, length) // 类似于 slice() 不同之处在于第二个参数规定被提取部分的长度。 省略截取到最后
var str = "0123456789"
var res = str.slice(1,4) // 123 注意包括__前__不包括__后__
var res = str.slice(1,-1); // 12345678 // 负值从左数 -1 不包含9
var res = str.slice(1); // 123456789 // 不写 就接到最后了
var res = str.slice(-5); // 56789 // 简单记忆 截取后五位
4. 把字符串转换为数组 split()
var str = "a,b,c,d,e,f";
var arr = str.split(","); // ["a", "b", "c", "d", "e", "f"]
// 反过来 用的是数组的 join(',')
5. replace() 方法不会改变调用它的字符串。它返回的是新字符串
- 默认地,replace() 只替换首个匹配:
str = "Please visit Microsoft and Microsoft!"
var n = str.replace("Microsoft", "W3School") // "Please visit W3School and Microsoft!"
- 默认地,replace() 对大小写敏感
str = "Please visit Microsoft and Microsoft!"
var n = str.replace("microsoft", "W3School") // "Please visit Microsoft and Microsoft!"
- 如需替换所有匹配,请使用正则表达式的 g 标志(用于全局搜索):
str = "Please visit Microsoft and Microsoft!"
var n = str.replace(/Microsoft/g, "W3School") // "Please visit W3School and W3School!"
6. 大小写 转换 通过 toUpperCase() 把字符串转换为大写 通过 toLowerCase() 把字符串转换为小写:
var text1 = "Hello World!"
var text2 = text1.toLowerCase() // "hello world!"
7. 字符串的拼接方法 concat() 连接两个或多个字符串
var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2); // Hello World
8. trim() 方法删除字符串两端的空白符:
var str = " Hello World! ";
alert(str.trim()); // Hello World!
// Internet Explorer 8 或更低版本不支持 trim() 方法
// 如需支持 IE 8,您可搭配正则表达式使用 replace() 方法代替:
// var str = " Hello World! ";
// alert(str.replace(/^[suFEFFxA0]+|[suFEFFxA0]+$/g, ''));
通过下标 提取字符串 charAt(position) charCodeAt(position)
var str = "HELLO WORLD";
str.charAt(0); // 返回 H
str.charCodeAt(0); // 返回 72 这是'H'的 unicode 编码
// 最好还是使用 str[0] // 更加直观
* 使用属性访问有点不太靠谱:
* 不适用 Internet Explorer 7 或更早的版本
* 它让字符串看起来像是数组(其实并不是)
* 如果找不到字符,[ ] 返回 undefined,而 charAt() 返回空字符串。
* 它是只读的。str[0] = "A" 不会产生错误(但也不会工作!) 赋值是无效的
以上是关于字符串的方法总结的主要内容,如果未能解决你的问题,请参考以下文章