总结字符串方法

常见字符串方法

localeCompare()

用本地特定的顺序来比较两个字符串。
用法:String.localeCompare(Strng)
详情:比较两个字符串,若前者小于后者返回小于0的数,相等返回0,大于返回大于0的数。
用途:

var str = "sjcnjnjsdhhhjsjhbhb";
 var newStr = str.split("").sort((a, b) => {
     return a.localeCompare(b);
 }).join("");
 console.log(newStr);//bbcdhhhhhjjjjjnnsss

查找指定字符串

  • indexOf()方法返回字符串指定位置的索引,未找到时返回-1

  • lastIndexOf()方法返回指定文本在字符串中最后一次出现的索引,未找到时返回-1;该方法与indexOf()如出一辙,唯一不同的是lastIndexOf()从字符串的后面开始

    let str = "abab";
    console.log(str.indexOf("a"));//0
    console.log(str.lastIndexOf("a"));//2

上述方法均可传第二个参数,表示从何位置(索引)开始查找指定字符串

  • search()方法搜索特定值的字符串,并返回匹配的索引;该方法与indexOf()相似,不同点在于:search()无法设置第二个开始位置参数
 let str = "abcdefg";
 console.log(str.search("bc"));//1

截取部分字符串

  • slice()截取字符串某部分,并返回被截取的部分,参数:起始索引(开始位置),终止索引(结束位置);截取的部分包左不包右。
    • 若参数为负数,则从未尾开始。
    • 若省略第二个参数时,则将截取字符串的剩余部分
    • 该方法与数组的slice()是‘双胞胎’,该方法不会改变字符串,数组的slice()会改变原数组
let str = "abcdefg";
console.log(str.slice(5,6));//f
console.log(str);//abcdefg
  • substring()方法类似于silce(),不同在于substring()无法接受负的索引;可省略第二个参数,则该substring()将截取字符串的剩余部分
  let a = "abcdefg";
  console.log(a.substring(1,2));//b
  a.substring(-1,-2)//""
  • substr()方法类似于slice(),不同在于第二个参数规定被截取部分的长度,若第二个参数为-1,则返回"";
    如果省略第二个参数,则该substr将截取字符串剩余部分
  let a = "abcdefg";
  console.log(a.substr(1,2));//bc
  a.substr(0,-1)//""

替换字符串内容

  • replace()方法用于另一个值替换在字符串中指定的值
    • replace()只替换首个匹配的值
    • 不改变原字符串,返回的是新字符串
    • 对大小字敏感
let a = "javaScipt is what";
a.replac("javaScipt","c");//c is what
a.replac("javascipt","c");//"javaScipt is what"  大小敏感

//可以用正则忽略大小写
//正则表达式 /i(大小写不敏感)
a.replace(/javascipt/i,"c");//c is what

转换大小写和小写

  • toUpperCase()将字符串转换成大写
  • toLowerCase()将字符串转换成小写

concat()方法

  • concat()连接两个或多个字符串,用于代替加运算符
let a = "java"+ "scipt";
let b = "java".concat("scipt")//或者"".concat("java","scipt");

String.trim()

  • trim()方法删除字符串两端的空白符
let a = " java ";
a.trim()//"java"

提取字符串字符

  • charAt()方法返回字符串中指定下标位置的字符串,不接受负数
let a = "java";
a.charAt(2)//v
  • charCodeAt()方法返回字符串中指定索引的字符unicode编码
let a = "java";
a.charCodeAt(0);//106

属性访问(Property Access)

ECMAScript 5 (2009) 允许对字符串的属性访问[]

let a = "java";
a[0];//"j"

【注意点】
使用属性访问有点不太靠谱:

  • 不适用IE7以下版本
  • 让人感觉像数组(其实并不是)
  • 如果使用[]时找不到字符时,返回undefined,而charAt()返回空字符串
  • 它只读,str[0] = "m"不会产生错误(但也不会工作)

把字符串转换成数组

  • split()将字符串转换成数组
let a = "a,b,c,d";
a.split(",");//["a", "b", "c", "d"]
a.split("");//"a", ",", "b", ",", "c", ",", "d"
原创文章 14 获赞 17 访问量 3787

猜你喜欢

转载自blog.csdn.net/qq_45472813/article/details/105599526
今日推荐