首页 > 编程语言 >【算法学习前置】了解js中的字符串

【算法学习前置】了解js中的字符串

时间:2023-05-24 16:11:41浏览次数:43  
标签:输出 console log 前置 js 算法 str 字符串 const

二、字符串常用方法

  1. chat()

    返回指定索引位置处的字符。类似于数组用中括号获取相应下标位置的数据。

    const str = 'abcdef'
    console.log(str.chat(2)) // 'c'
    console.log(srt[2]) // 'c'
    
  2. concat()

    类似数组的concat(),用来返回一个合并拼接两个或两个以上字符串。原字符串不变。

    const str = '123'
    console.log(str.concat('456')) // '123456'
    console.log(str) // '123'
    
  3. indexOf()、lastIndexOf()

    indexOf,返回一个字符在字符串中首次出现的位置,lastIndexOf返回一个字符在字符串中最后一次出现的位置。

    const str = 'abcdcefcg'
    console.log(str.indexOf('c')) // 输出 '2'
    console.log(str.lastIndexOf('c')) // 输出 '7'
    
  4. slice()

    提取字符串的片断,并把提取的字符串作为新的字符串返回出来。原字符串不变。

    const str = 'abcdefg'
    console.log(str.slice()) // 输出 'abcdefg', 不传递参数默认复制整个字符串
    console.log(str.slice(1)) // 输出 'bcdefg',传递一个,则为提取的起点,然后到字符串结尾
    console.log(str.slice(2, str.length-1)) // 输出'cdef',传递两个,为提取的起始点和结束点
    
  5. split()

    使用指定的分隔符将一个字符串拆分为多个子字符串数组并返回,原字符串不变。

    const str = 'A*B*C*D*E*F*G'
    console.log(str.split('*')) // 输出 ["A", "B", "C", "D", "E", "F", "G"]
    
  6. substr()、substring()

    这两个方法的功能都是截取字符串的片段,它们的区别就在于参数二。

    substr()的第二个参数是截取返回的字符串的长度;substring()的第二个参数是截取返回字符串的结束点,并且截取的部分不包含结束点,类似数组中的slice()方法。

    const str = 'ABCDEFGHIJKLMN'
    console.log(str.substr(2))  // 输出 'CDEFGHIJKLMN'
    console.log(str.substring(2)) // 输出 'CDEFGHIJKLMN'
    
    console.log(str.substr(2, 9))  // 输出 'CDEFGHIJK'
    console.log(str.substring(2, 9))  // 输出 'CDEFGHI'
    
  7. match()

    match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,并返回一个包含该搜索结果的数组。

    const str = '2018年结束了,2019年开始了,2020年就也不远了'
    const reg = /\d+/g  // 这里是定义匹配规则,匹配字符串里的1到多个数字
    console.log(str.match(reg))  // 输出符合匹配规则的内容,以数组形式返回 ['2018', '2019', '2020']
    console.log(str.match('20'))  // 不使用正则 ["20", index: 0, input: "2018年结束了,2019年开始了"]
    
  8. replace()

    replace接收两个参数,参数一是需要替换掉的字符或者一个正则的匹配规则,参数二,需要替换进去的字符,在实际的原理当中,参数二,你可以换成一个回调函数。

    const str = '2018年结束了,2019年开始了,2020年就也不远了'
    const rex = /\d+/g  // 这里是定义匹配规则,匹配字符串里的1到多个数字
    const str1 = str.replace(rex, '****') 
    console.log(str1) // 输出:"****年结束了,****年开始了,****年也不远了"
    
  9. search()

    在目标字符串中搜索与正则规则相匹配的字符,搜索到,则返回第一个匹配项在目标字符串当中的位置,没有搜索到则返回一个-1

    const str = '2018年结束了,2019年开始了,2020年就也不远了'
    const reg = /\d+/i  // 这里是定义匹配规则,匹配字符串里的1到多个数字
    console.log(str.search(reg)) // 输出 0  这里搜索到的第一项是从位置0开始的
    
  10. toLowerCase(),toUpperCase()

    toLowerCase把字母转换成小写,toUpperCase()则是把字母转换成大写。

    const str1 = 'abcdefg'
    const str2 = 'ABCDEFG'
    console.log(str2.toLowerCase())  // 输出:'abcdefg'
    console.log(str1.toUpperCase())  // 输出:'ABCDEFG'
    
  11. include()、startsWith()、endsWith()

    includesstartsWithendsWithes6的新增方法,includes 用来检测目标字符串对象是否包含某个字符,返回一个布尔值,startsWith用来检测当前字符是否是目标字符串的起始部分,相对的endwith是用来检测是否是目标字符串的结尾部分。

    const str = 'Excuse me, how do I get to park road?'
    console.log(str.includes('how')) // 输出:true
    console.log(str.startsWith('Excuse')) // 输出: true
    console.log(str.endsWith('?')) // 输出: true
    
  12. repeat()

    传入一个数字,repeat()方法会返回重复了指定次数的原始字符串。原始字符串不变。

    const str = 'hello'
    console.log(str.repeat(2)) // 'hellohello'
    console.log(str) // hello
    

标签:输出,console,log,前置,js,算法,str,字符串,const
From: https://www.cnblogs.com/mosaicMask/p/17428625.html

相关文章

  • geojson格式数据
    可以通过一下地址验证https://geojson.io/#map=11.2/38.2756/116.7917一个面数据的情况,features是一个数组,geometry的type=Polygon表示一个面数据,可以存放多个面数据,以下就存放了一个面{"type":"FeatureCollection","features":[{"type":&quo......
  • 【Kafka从入门到成神系列 三】Kafka 生产者消息分区及压缩算法
    ......
  • 搜索算法
    //DPS(深度搜索)//n-皇后问题//方法一(与数字全排列相似)#include<bits/stdc++.h>usingnamespacestd;constintN=80;intn,res=0;charQ[N][N];boolcow[N],dg[N],rdg[N];//dg,rdg是对角线和反对角线,cow是列;voiddfs(intu){if(u==n){res++;......
  • 基础算法大全(更新ing
    1前缀和///给定一组数,求任意区间的总和#include<bits/stdc++.h>usingnamespacestd;constintN=100010;intn,a[N],s[N],m;intmain(){cin>>n>>m;for(inti=1;i<=n;i++){cin>>a[i];s[i]=s[i-1]+a[i];}whil......
  • 贪心算法
    //区间选点//数轴上有n个闭区间[a_i,b_i]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)////Input//第一行1个整数N(N<=100)//第2~N+1行,每行两个整数a,b(a,b<=100)//INPUT:2//15//46//OUTPUT:1#include<bits/stdc++.h>usingnamespace......
  • js select下拉框选取默认学期
    termList.map(item=>{if(item.isOnTerm==1){termOpts+='<optionvalue="'+item.termId+'"selected>'+item.termName+'</option>';}else{......
  • 自定义注解实现数据序列化时进行数据脱敏(基于springboot默认jackjson)、消息转换器
    消息转换器fastjson与jackjson问题在springboot中使用fastjson的@jsonField无效原因:在springboot默认有json(jackjson)解析工具,所以使用fastjson不会生效解决方案替换默认的解析工具(笔者不推荐,这里根据自己项目决定)fastjson替换默认的jackjson第一种方法bean方法packagecom......
  • java将wkt面数据转geojson和elasticsearch的shape数据
    wkt面数据转geojsonimportcom.alibaba.fastjson.JSONException;importcom.alibaba.fastjson.JSONObject;importorg.locationtech.jts.geom.Coordinate;importorg.locationtech.jts.geom.Geometry;importorg.locationtech.jts.io.ParseException;importorg.location......
  • day104 - jsp语法
    jsp标签页面包含标签(类似vue组件)<%--jsp:include--%><jsp:includepage="jsptag2.jsp"></jsp:include> 请求转发标签其中param可以携带参数<%--请求转发标签--%>页面一:请求转发到页面二<jsp:forwardpage="/jsptag2.jsp"><jsp:paramna......
  • 算法学习 | 从几个有趣的故事说起,聊聊里面的算法
    前言提到故事我就来劲头了。一方面,我喜欢读故事、讲故事、搜集故事,另一方面,用讲故事的方式会为学习增加一些趣味性,有兴趣可以帮助坚持下去。下面要介绍的故事,有些大家应该不陌生。我之前有读到过,但是没有认真的研究过,有种熟悉的陌生感。今天分享读了的故事、研究了的解题过程、顺便......