JavaScript字符串操作函数

JavaScript字符串操作函数的简单总结

  • str.split(separator,howmany) 字符串的分割

    • separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
    • howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
    • 返回值:
      一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
      var str = "H,o,w,?";
      var res = str.split(","); // 得到["H" "o" "w" "?"]
      var res2 = str.split(""); // 若分割"",则得到包含所有字符的数组["H" "," "o" "," "w" "," "?"]
      var res3 = "a    b            c".split(/\s+/); //使用正则去除空白,得到["a" "b" "c"]
  • str.slice(start,end) 字符串的截取

    • start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

    • end 可选。规定从何处结束选取。该参数是str结束字符的下标(不包括该字符)。如果没有指定end,那么结果从 start 到 str 结束。

      • 如果end为负数,那么它规定的是从尾部开始算起的字符。
      • 如果start >= end,得到空字符串。
    • 返回值:返回一个新字符串,包含从 start 到 end (不包括该元素)的 str 中的元素。注意原 str 没有改变。

    • slice方法也适用于数组

    var str = "Hello World", res;
    res = str.slice(0, 7); // 此时str = "Hello World", res = "Hello W"
    res = str.slice(-4, -2); // res = "or"
    res = str.slice(5, 1); // res = ""
  • str.substring(start,end) 字符串的截取

    • start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

      • 如果start < 0 , 则会将start置为0再执行方法
    • end 可选。规定从何处结束选取。该参数是str结束字符的下标(不包括该字符)。如果没有指定end,那么结果从 start 到 str 结束。

      • 如果start > end,则会交换 start 和 end 再执行。
    • 返回值:返回一个新字符串,包含从 start 到 end (不包括该元素)的 str 中的元素。注意原 str 没有改变。

    • slice的区别是substring只适用于字符串,对start 和 end大小情况的处理也不一致。

    var str = "Hello World", res;
    res = str.slice(0, 7); // 此时str = "Hello World", res = "Hello W"
    res = str.slice(-2, 7); // res = "Hello W", start变为0
    res = str.slice(7, -2); // res = "Hello W", start和end交换
  • str.substr(start,length) 字符串的截取

    • start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

    • length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 str 的 start 到结尾的字串。

      • 如果 length <= 0,得到空字符串。
    • 返回值:返回一个新字符串,包含从 start 处开始的 length 个字符。注意原 str 没有改变。

    • 重要事项

      • ECMAscript 没有对该方法进行标准化,因此反对使用它
      • 在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。
    var str = "Hello World", res;
    res = str.substr(0, 7); // 此时str = "Hello World", res = "Hello W"
    res = str.substr(-4, 2); // res = "or"
    res = str.substr(5, -1); // res = ""
  • str.substr(str1, str2, ... , strN) 字符串的连接

    • str1 必需,可以是任意多个字符串。
    • 返回值:返回一个新字符串,包含从 start 处开始的 length 个字符。注意原 str 没有改变。
    var str = "Hello World", res;
    res = str.concat("!!!", "???"); // 此时str = "Hello World", res = "Hello World!!!???"
  • str.charAt(index) 取字符

    • index 必需,表示字符在字符串中的下标。
    • 返回值:返回一个字符。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。
    var str = "Hello World", res;
    res = str.charAt(4); // res = "o"
    res = str.charAt(20); // res = "",index大于字符串长度
  • str.indexOf(target,fromIndex) 从前找出子串下标

    • target 必需,规定需检索的字符串值。
    • fromIndex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 str.length - 1。如省略该参数,则将从字符串的首字符开始检索。
    • 返回值:返回首次匹配子串的首个字符下标。如果要检索的字符串值没有出现,则该方法返回 -1。
    var str = "Hello World Hello", res;
    res = str.indexOf("llo"); // 2
    res = str.indexOf("llo", 2); // 虽然指定fromIndex,结果仍为2
  • str.lastIndexOf(target,fromIndex) 从后找出子串下标

    • target 必需,规定需检索的字符串值。
    • fromIndex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 str.length - 1。如省略该参数,则将从字符串的最后一个字符开始检索。
    • 返回值:返回一个指定的字符串值最后出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。
    var str = "Hello World Hello", res;
    res = str.lastIndexOf("llo"); // 14
    res = str.lastIndexOf("llo", 1); // -1
    res = str.lastIndexOf("llo", 2); // str(2,4)为"llo",故得到 res = 2
  • str.toUpperCase() 大写转换

    • 返回值:返回一个新字符串,所有字符被转换成大写。
    var str = "Hello World", res;
    res = str.toUpperCase(); // str = "Hello World"  res = "HELLO WORLD"
  • str.toLowerCase() 小写转换

    • 返回值:返回一个新字符串,所有字符被转换成大写。
    var str = "Hello World", res;
    res = str.toLowerCase(); // str = "Hello World"  res = "hello world"

    先写这么多。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值