js字符串操作

时间:2019-11-10
本文章向大家介绍js字符串操作,主要包括js字符串操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.字符串转换

<script>
  var num = 1024;
  var mystr = num.toString();
  console.log(mystr);
  // ---------------------------
  var mystr = String(num);
  console.log(mystr);
  // ---------------------------
  var mystr = "" + num;
  console.log(mystr);
</script>

2.字符串分割

<script>
  // split()将字符串进行拆分返回一个新的数组
  // split()的第二个参数,表示返回的字符串数组的最大长度
  var mystr = "lbq,my,la,jjh";
  var str = mystr.split(",");
  console.log(str);
  var str1 = mystr.split(",", 2);
  console.log(str1);
</script>

3.字符串替换

<script>
      var mystr = "wozaijinxingzifuchuantihuancaozuo,zifuchuantihuano";
      var str = mystr.replace("zifuchuan", "");
      console.log(str);
      var str1 = mystr.replace(/zifuchuan/g, "");
      console.log(str1);
</script>

4、获取字符串长度

<script>
      var str = "itcast";
      var mystr = str.length;
      console.log(mystr);
</script>

5、查询子字符串

<script>
      // indexOf() 返回字符串中一个子串第一处出现的索引(从左到右搜索)
      var str = "itcast";
      var index = str.indexOf("t");
      console.log(index);
      // lastIndexOf() 返回字符串中一个子串最后一处出现的索引(从右到左搜索)
      var index = str.lastIndexOf("t");
      console.log(index);
</script>

6、返回指定位置的字符或其字符编码值

<script>
      // charAt()查找给定位置的字符
      var mystr = "Hello World!";
      var index = mystr.charAt(7);
      console.log(index);
      // charCodeAt()查找对应位置的字符编码值
      var charCode = mystr.charCodeAt(7);
      console.log(charCode);
</script>

7、字符串匹配,返回值为数组

<script>
      // match()
      var mystr = "hi,mynameisguoxiansheng6,33iswho?";
      var matchStr = mystr.match("guo");
      console.log(matchStr);
      // 正则匹配
      var regexp2 = /guo/g;
      var matchStr = mystr.match(regexp2);
      console.log(matchStr);
      // search()如果查找成功,返回字符串中匹配的索引值。
      var regexp1 = /guo/;
      var matchStr = mystr.search(regexp1);
      console.log(matchStr);
</script>

8、字符串连接

<script>
      // 加法操作进行字符串连接
      var mystr1 = "Hello";
      var mystr2 = "world!";
      var mystr3 = "li";
      var newStr = mystr1 + " " + mystr2;
      console.log(newStr);
      // concat()传递多个字符串,拼接多个字符串
      var newStr = mystr1.concat(mystr3 + mystr2);
      console.log(newStr);
</script>

9、字符串切割和提取

<script>
      // slice()函数:
      var mystr = "hello world!";
      var mystr1 = mystr.slice(-3);
      console.log(mystr1);
      var mystr2 = mystr.slice(-3, -1);
      console.log(mystr2);
      var mystr3 = mystr.slice(3);
      console.log(mystr3);
      var mystr4 = mystr.slice(3, 7);
      console.log(mystr4);
      // substring()函数:
      var mystr = "hello world!";
      var sliceStr1 = mystr.substring(3);
      console.log(sliceStr1);
      var sliceStr2 = mystr.substring(3, 7);
      console.log(sliceStr2);
      // substr()函数:
      var mystr = "hello world!";
      var sliceStr1 = mystr.substr(3);
      console.log(sliceStr1);
      var sliceStr2 = mystr.substr(3, 7);
      console.log(sliceStr2);
</script>
注:
   1.slice() 可以为负数,如果起始位置为负数,则从字符串最后一位向前找对应位数并且向后取结束位置,
      如果为正整数则从前往后取起始位置到结束位置。
  2.substring()只能非负整数,截取起始结束位置同slice()函数一致。
  3.substr()与第一、第二种函数不同,从起始位置开始截取,结束位置为第二个参数截取的字符串最大长度。
   以上三种函数未填第二参数时,自动截取起始位置到字符串末尾。

10、字符串大小写转换

<script>
      var mystr = "Hello World!";
      // toLowerCase()
      var lowCaseStr = mystr.toLowerCase();
      console.log(lowCaseStr);
      // toUpperCase()
      var upCaseStr = mystr.toUpperCase();
      console.log(upCaseStr);
</script>

11、字符串去空格

<script>
      // trim方法用来删除字符串前后的空格
      var mystr = "     hello world      ";
      var trimStr = mystr.trim();
      console.log(trimStr);
</script>

常用的字符串操作

  • 字符串去重
<script>

  var str = "aahhgggsssjjj";
  function removeRepeat(msg) {
    var res = [];
    var arr = msg.split("");
    for (var i = 0; i < arr.length; i++) {
      if (res.indexOf(arr[i]) == -1) {
        res.push(arr[i]);
      }
    }
    return res.join("");
  }
  var str1 = removeRepeat(str); //ahgsj
  console.log(str1);
  • 判断字符串中字符出现的次数

1.先实现字符串去重

2.然后对去重后的数组用for循环操作,分别与原始数组中各个值进行比较,如果相等则count++,
循环结束将count保存在sum数组中,然后将count重置为0

3.这样一来去重后的数组中的元素在原数组中出现的次数与sum数组中的元素是一一对应的

  var str = "aacccbbeeeddd";
  var sum = [];
  var res = [];
  var count = 0;
  var arr = str.split("");
  for (var i = 0; i < arr.length; i++) {
    if (res.indexOf(arr[i]) == -1) {
      res.push(arr[i]);
    }
  }
  for (var i = 0; i < res.length; i++) {
    for (var j = 0; j < arr.length; j++) {
      if (arr[j] == res[i]) {
        count++;
      }
    }
    sum.push(count);
    count = 0;
  }
  console.log(res); //["a", "c", "b", "e", "d"]
  for (var i = 0; i < res.length; i++) {
    var str = sum[i] % 2 == 0 ? "偶数" : "奇数";
    console.log(res[i] + "出现了" + sum[i] + "次");
    console.log(res[i] + "出现了" + str + "次");
  }
</script>

原文地址:https://www.cnblogs.com/itcast-lbq/p/11830561.html