热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:快速掌握js字符串方法

篇首语:本文由编程笔记#小编为大家整理,主要介绍了快速掌握js字符串方法相关的知识,希望对你有一定的参考价值。js字符串常用方法也是面试中经常遇到到问题。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了快速掌握js字符串方法相关的知识,希望对你有一定的参考价值。


js字符串常用方法也是面试中经常遇到到问题。

话不多说,直接code一把梭


indexOf

indexOf该方法是字符串里最常用的,一般使用在判断情况下。
查找字符串首次出现的位置,如果找到返回该字符串的下标值,下标从0开始查找,找不到返回-1。

有很多小伙伴们,不知道indexOf第二个参数,默认可填,第二个参数理解就是从第几位开始查找, 如果找不到返回 -1

演示:

var str = \'hello 秦司令\';
console.log(str.indexOf(\'秦\')) // 6
console.log(str.indexOf(\'a\')) // -1
console.log(str.indexOf(\'秦\', 7)) // -1

lastIndexOf

lastIndexOf跟indexOf方法一样,只不过它查找字符串最后出现的位置,同样,查找到返回下标位置,找不到为-1。

演示:

var str = \'hello 秦司令秦\';
console.log(str.lastIndexOf(\'秦\')) // 9
console.log(str.lastIndexOf(\'a\')) // -1

可以看到上面代码中,str 字符串里面有两个 "秦" 而lastIndexOf该方法只查找最后出现的位置。

charAt

charAt该方法也跟indexOf差不多,只不过它是跟indexOf颠倒过来了。
charAt方法是查找下标,返回对应的内容,如果没有该下标,则返回空字符串。

演示:

var str = \'hello 秦司令秦\';
console.log(str.charAt(0)) // h
console.log(str.charAt(6)) // 秦
console.log(str.charAt(19)) //空

charCodeAt

charCodeAt是文字所存的Unicode编码,不经常使用。

演示:

var str = \'hello 秦司令秦\';
var n = \'鸟\'
console.log(str.charCodeAt()) //104
console.log(n.charCodeAt()) //40479

上面代码中,str的返回值就是它的字符串首字符串 h 在计算机内所存的编码,charCodeAt方法只查找首字符串,想要全部获取一下编码,遍历一下就行,
n的变量 "鸟" 返回值 40479 它也是在计算机内所存的编码。

String.fromCharCode

该方法跟上面的charCodeAt方法正好相反,这两方法搭配是一套,该方法是把所存的编码在转换为文字。

演示:

console.log(String.fromCharCode(104)) //h
console.log(String.fromCharCode(40479)) //鸟

substring

该方法也常用,而且还非常好使,一位参数是截取掉几位字符,二位参数是从哪个位置开始,到那个位置结束的前一位,不包括结束的位置,不会改变原字符串。

演示:

var str = \'hello 秦司令秦\';
console.log(str.substring(1)) // ello 秦司令秦
console.log(str.substring(1,2)) // e
console.log(str) // 原字符串不变

substr

substr跟substring差不多,但是该方法要比substring强大一些,它可以有负数,一位参数是截取掉几位字符,二位参数是从哪个位置开始,截取几位,不改变原字符串。

演示:

var str = \'hello 秦司令秦\';
console.log(str.substr(1)) // ello 秦司令秦
console.log(str.substr(1,2)) // el
console.log(str.substr(-4,4)) // 秦司令秦
console.log(str) //不会改变原字符串

slice

该方法也是截取字符,它跟substring方法几乎一样,只不过该方法也可以写负数,其它的使用方式,都跟substring一样,该方法也不会改变原字符串。

演示:

var str = \'hello 秦司令秦\';
console.log(str.slice(1)) // ello 秦司令秦
console.log(str.slice(1,3)) // el
console.log(str.slice(-4,-2)) // 秦司令秦
console.log(str) // 不会改变原字符串

split

该方法是字符串分割为数组,参数是以什么方式分割。同样不会改变原字符串。

演示:

var str = \'hello秦司令秦\';
var str1 = \'hello 秦司令\';
console.log(str.split(\'\')) //["h", "e", "l", "l", "o", "秦", "司", "令", "秦"]
console.log(str1.split(\' \')) //["hello", "秦司令"]
console.log(str1,str) //未发生改变

上面代码中,str变量字符串是整齐的,所以参数内是默认的,然后以每个字符分割了,str1变量字符串中间有个空格,所以参数内是以空格分割了。

toLowerCase

将字符串转换为小写,不会改变原字符串。

演示:

var str1 = \'HELLO\';
console.log(str1.toLowerCase()) // hello

toUpperCase

将字符串转换为大写,不会改变原字符串。

演示:

var str = \'hello秦司令秦\';
console.log(str.toUpperCase()) //HELLO秦司令秦

replace

替换字符串,第一个值为被替换的值,第二个值为替换的值,不会改变原字符串。
演示:

var str = \'hello秦司令秦\';
console.log(str.replace(\'h\',\'秦\')) //秦ello秦司令秦
console.log(str) // 未发生改变

match

匹配字符串,查找到返回一个数组对象,数组对象里有 匹配的值 查找字符串的下标 和 原字符串内容,找不到返回null

演示:

var str = \'hello秦司令秦\';
console.log(str.match(\'秦\')) // ["秦", index: 5, input: "hello秦司令秦", groups: undefined]
console.log(str.match(\'1\')) // null

search

该方法跟indexOf一模一样,查找字符串首次出现的位置,如果找到返回该字符串的下标值,下标从0开始查找,找不到返回-1。

演示:

var str = \'hello秦司令秦\';
console.log(str.search(\'o\')) //4
console.log(str.search(\'d\')) //-1

repeat

该方法的参数是复制几遍字符串。不会改变原字符串。

演示:

var str = \'hello秦司令秦\';
console.log(str.repeat(3)) //hello秦司令秦hello秦司令秦hello秦司令秦

includes

该方法返回Boolean值,查找字符串里面有没有该值。第一位参数是 "值" , 第二位参数是下标。

演示:

var str = \'hello秦司令秦\';
console.log(str.includes(\'秦\')) //true
console.log(str.includes(\'秦\',5)) //true
console.log(str.includes(\'啦\')) //false

startsWith

该方法返回Boolean值,查找字符串开头是不是该值。第一位参数是 "值" , 第二位参数是下标。

演示:

var str = \'hello秦司令秦\';
console.log(str.startsWith(\'秦\')) //false
console.log(str.startsWith(\'秦\',5)) //true
console.log(str.startsWith(\'h\')) //true

endsWith

该方法返回Boolean值,查找字符串结尾是不是该值。第一位参数是 "值" , 第二位参数是下标,下标必须往后查找一位,如果要找的下标是5,就必须写6

演示:

var str = \'hello秦司令秦\';
console.log(str.endsWith(\'秦\')) //true
console.log(str.endsWith(\'秦\',6)) //true
console.log(str.endsWith(\'h\')) //false

希望这篇文章能对你有所帮助,如有问题, 请各位大佬指出


推荐阅读
  • 开发笔记:js正则表达式属性及方法的使用
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了js正则表达式属性及方法的使用相关的知识,希望对你有一定的参考价值。正则表达式直接量 ... [详细]
  • 题目描述输入整型数组和排序标识,对其元素按照升序或降序进行排序(一组测试用例可能会有多组数据)本题有多组输入,请使用whil ... [详细]
  • 最近想用js做一个简单的计算器,不过网上的例子好像大部分都是直接从左到右挨个计算,就好像1+2*5,就会先计算1+2,再计算3*5,并没有实现运算符的优先级,这里找到了一种方法实现,来总结一下。不过这 ... [详细]
  • DFS基本概念步骤优缺点典型例题递推基本概念直接或者间接调用自身的算法称为递归算法一般数据n ... [详细]
  • 题目链接:杭电多校7-VirtualJudgevjudge上题目显示的有问题,我下面附上官方题目:样例输入:32201 ... [详细]
  • 题意给出一个长度为n的序列,有一些位置可以放任意的数,问最长上升序列的长度。n ... [详细]
  • 1、创建高级对象使用构造函数来创建对象构造函数是一个函数,调用它来例示并初始化特殊类型的对象。可以使用new关键字来调用一个构造函数。下面给出了使用构造函数的新示例。 ... [详细]
  • The“travellingsalesmanproblem”asksthefollowingquestion:“Givenalistofcitiesandthedistancesb ... [详细]
  • python-去除字符串中特定字符一、去掉字符串两端字符:strip(,rstrip(,lstrip(s.strip(#删除两边(头尾空字符,默认是空字符s. ... [详细]
  • 开发笔记:Xunit测试使用个人小结
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Xunit测试使用个人小结相关的知识,希望对你有一定的参考价值。因工作中用到xunit测试,故总结下用法,以供个人参考使 ... [详细]
  • [二分图]JZOJ 4612 游戏
    DescriptionInputOutputSampleInput44#****#****#*xxx#SampleOutput5DataConstraint分析非常眼熟࿰ ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 摘要: 在测试数据中,生成中文姓名是一个常见的需求。本文介绍了使用C#编写的随机生成中文姓名的方法,并分享了相关代码。作者欢迎读者提出意见和建议。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
author-avatar
秋静222
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有