javaScript中字符串的方法

114 阅读3分钟

字符串方法


查找字符串

  1. indexOf()
    • 返回字符串中首次出现的索引
    • 可以又第二个参数,当传入第二个参数的时候,从传入数字下标开始找
    • 没找到返回-1
  2. lastIndexOf()
    • 返回字符串中最后一次出现的索引
    • 可以又第二个参数,当传入第二个参数的时候,从传入数字下标开始找
    • 没找到返回-1
  3. search()
    • 搜索特定值的字符串,并返回匹配的位置
    • 没找到返回-1

indexOf() 与 search() 方法是相等的。区别是search() 无法设置第二个参数,indexOf() 无法设置更强大的搜素值(正则表达式)

        var str = "The full name of China is the People's Republic of China."
        console.log(str.indexOf('China')); // 17  从头部开始找,找到就返回下标
        console.log(str.lastIndexOf('China')); // 51 从尾部开始找,找到就返回下标
        //当传入第二个参数的时候,从传入数字下标开始找
        console.log(str.indexOf('China', 18)); // 51
        console.log(str.lastIndexOf('China', 50)); // 17

        console.log(str.search('China')); // 17

提取部分字符串

  1. slice(start, end)
    • 提取从 starts 索引开始到 end 索引结束的字符串[start, end]
    • 只有一个参数,则提取从 starts 索引开始直到结尾
    • 提取不到返回空字符串
    • 参数为负数,则从字符串的结尾开始计数
var str = "Apple,Banana,Mango";
console.log(str.slice(6, 11)); //Banana [6, 11]
console.log(str.slice(6)); // Banana,Mango
console.log(str.slice(18)); // ""
console.log(str.slice(-5)); // Mango
  1. substring(start, end)
    • substring() 与 slice() 相同,只是substring()参数不接收负数
  2. substr(start, length)
    • 提取从 start 索引开始后 length 个字符
    • length 不能为负数
    • 只有一个参数,则提取 start 索引开始直到结尾
    • start 为负数时,从字符结尾开始计数
    • 提取不到返回空字符串
var str = "Apple,Banana,Mango";
console.log(str.substr(6, 6)); //Banana
console.log(str.substr(6)); //Banana,Mango
console.log(str.substr(-5)); //Mango
console.log(str.substr(18)); //""

替换字符串

  1. replace(oldStr, newStr)
    • 区分大小写
    • 返回的是一个新的字符串
    • 默认只替换首个匹配的,可以使用正则表达式匹配。i(不区分大小写) g(全局匹配)
var str = "Please visit Mic and Mic!";
console.log(str.replace('Mic', 'W3c')); //Please visit W3c and Mic!
console.log(str.replace('MIC', 'W3c')); //Please visit Mic and Mic!
console.log(str.replace(/MIC/i, 'W3c'));//Please visit W3c and Mic!
console.log(str.replace(/MIC/ig, 'W3c'));//Please visit W3c and W3c!

字符串转大小写

  1. toUpperCase()
    • 转大写
  2. toLowerCase()
    • 转小写
var str = "Hello World!"
console.log(str.toUpperCase());// HELLO WORLD!
console.log(str.toLowerCase());// hello world!

字符串连接

  1. concat()
var test1 = "hello";
var test2 = "world";
console.log(test1.concat(" ", test2, " ", test1));// hello world hello

去字符两端空格

  1. trim()
    • IE9以下不兼容,可以使用 replace() 搭配正则表达式替换空格。
var str = '   hello world   ';
console.log(str.trim());// hello world

var str = "       Hello World!        ";
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));// Hello World!

字符串转数组

  1. split()
var str = "a,b,c,d";
console.log(str.split(""));// ["a", ",", "b", ",", "c", ",", "d"]
console.log(str.split(","));// ["a", "b", "c", "d"]

提取字符串中的字符

  1. charAt()
    • 返回找到的字符,没有找到返回空字符串
  2. charCodeAt()
    • 返回找到字符的 Unicode 的编码,没有找到返回 NaN
var str = "HELLO WORLD";
console.log(str.charAt(1));// E
console.log(str.charAt(100));// ''
console.log(str.charCodeAt(1));// 69
console.log(str.charCodeAt(100));// NaN
console.log(str[1]); // E