字符串的方法总结

字符串的方法总结:

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(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/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" 不会产生错误(但也不会工作!) 赋值是无效的

猜你喜欢

转载自www.cnblogs.com/var-chu/p/11956899.html
今日推荐