zoukankan      html  css  js  c++  java
  • JS 字符串操作总结

    【MDN】https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String

    【参考】https://www.cnblogs.com/guoyeqiang/p/8178336.html

    字符串转换 


    1、toString()

    var age = 11;
    var ageAsString = age.toString(); //字符串“11”
    var found = true;
    var foundAsString = found.toString();//字符串“true”

    默认情况下,toString()方法返回的是10进制格式返回数值的字符串表示。但是也可以输出二进制、八进制、十六进制。

    var num=10;
    num.toString();//"10"
    num.toString(2);//"1010"
    num.toString(8);//"12"
    num.toString(10);//"10"
    num.toString(16);//a

    一般的值都有这个方法,但是null和undefined是没有这个方法的,在不知道要转换的值是不是null 或者undefined的情况下,可以使用转型函数String()

    2、String()

    如果值有toString()方法的话,就会调用toString方法。如果是null,返回"null",如果是undefined的话,返回"undefined"

    String(true);//"true"
    String(null);//"null"
    String(undefined);//undefined
    String(10);//"10"

    3、+字符串拼接

    var num=24;
    var mystr="" + num;    //"24"

    字符方法


    1、charAt()

    2、charCodeAt()

    3、codePointAt() ES6

    能正确返回字非BMP字符集上的字符长度

    4、fromCodePoint() ES6

    5、normalize() ES6

    字符串连接


    1、concat()   [String.prototype.concat()]=>MDN

      方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回,并不影响原本的字符串。

      str.concat(string2string3[, ..., stringN])

    var hello = "Hello, ";
    console.log(hello.concat("Kevin", " have a nice day.")); /* Hello, Kevin have a nice day. */
     

    2、+ 操作符拼接

    强烈推荐使用加法操作符,因为加法操作符的性能更好

    var mystr1="Hello";
    var mystr2="world!";
    var newStr=mystr1+" "+mystr2;    //Hello world!

    字符串分隔


    1、splite()  [String.prototype.splite]=>MDN

    方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。 

    str.split([separator[, limit]])

    截取字符串中的子字符串


    1、slice()  [String.prototype.slice]=>MDN

    方法提取一个字符串的一部分,并返回一新的字符串。

    str.slice(beginSlice[, endSlice])

    slice() 提取的新字符串包括beginSlice不包括 endSlice

    2、substr() [String.prototype.substr]=>MDN

    方法返回一个字符串中从指定位置开始到指定字符数的字符。

    str.substr(start[, length])


    3、substring() [String.prototype.substring]=>MDN

    方法返回一个字符串在开始索引到结束索引(不包括)之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。

    str.substring(indexStart[, indexEnd])

    关于slice和substring之间的区别:

    stringObj.slice(start, [end])
    如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。

    strVariable.substring(start, end)
    如果 start 或 end 为 NaN 或者负数,那么将其替换为0。
    子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。

    字符串位置方法


    1、indexOf() [String.prototype.indexOf]=>MDN

    方法返回调用  String 对象中第一次出现的指定值的索引,开始在 fromIndex进行搜索。如果未找到该值,则返回-1。

    str.indexOf(searchValue[, fromIndex])


    2、lastIndexOf() [String.prototype.lastIndexOf]=>MDN

    方法返回指定值在调用该方法的字符串中最后出现的位置,如果没找到则返回 -1。从该字符串的后面向前查找,从 fromIndex 处开始。

    字符串大小写转换


    1、toLocaleUpperCase [String.prototype.toLocaleUpperCase]=>MDN

    使用本地化(locale-specific)的大小写映射规则将输入的字符串转化成大写形式并返回结果字符串。

    str.toUpperCase()

    2、toLocaleLowerCase [String.prototype.toLocaleLowerCase]=>MDN

    方法根据任何特定于语言环境的案例映射,返回调用字符串值转换为小写的值。

    str.toLowerCase()

    3、toLowerCase [String.prototype.toLowerCase]=>MDN

    str.toLowerCase()

    4、toUpperCase [String.prototype.toUpperCase]=>MDN

    str.toUpperCase()


    字符串的匹配模式


    1、match() [String.prototype.match]=>MDN

    当一个字符串与一个正则表达式匹配时, match()方法检索匹配项。

    str.match(regexp);

    2、search()  [String.prototype.search]=>MDN

    方法执行正则表达式和 String对象之间的一个搜索匹配。

    str.search(regexp)

    字符串替换


    1、replace() [String.prototype.replace]=>MDN

    方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。

    str.replace(regexp|substrnewSubStr|function)

     字符串去除空格


    1、trim() [String.prototype.trim]=>MDN

    方法会从一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR)。trim() 方法并不影响原字符串本身,它返回的是一个新的字符串。

    str.trim()
  • 相关阅读:
    sqlserver 分页
    sqlserver 用FOR XML PATH('')多行并成一列
    yarn的安装和使用
    redis安装及基本使用
    dbeaver 的界面乱码
    cypress测试框架(一)
    外网访问VMware虚拟机的Web服务---系列操作
    将博客搬至CSDN
    textgrid-python模块基础使用
    opencv通过mask掩码图合成两张图
  • 原文地址:https://www.cnblogs.com/linququ/p/9152996.html
Copyright © 2011-2022 走看看