目录

一、根据字符返回位置

二、根据位置返回字符

三、把字符串分割成字符串数组


首先我们要知道,字符串的所有方法,都不会修改字符串本身(字符串是不可修改的),操作完成会返回一个新的字符串。今天我们来学一下关于字符串的一些内置函数以及我们经常会遇到的一些题目。

一、根据字符返回位置

  • indexOf('要查找的字符',[起始的位置的索引号]):返回指定内容在字符串中的位置,如果找不到会返回-1,找到的话会返回该指定内容在字符串的位置的索引号。
  • lastIndexOf():从后往前找,只找第一个匹配的。

好,我们来写一个小案例:

查找字符串"abcodedsodossoi"中所有o出现的位置以及次数

通过indexOf()指定开始查找的位置,从而找到所有我们想要检索的字符。


二、根据位置返回字符

  • charAt(index):根据位置返回字符

由此,我们可能知道,charAt(index)可以根据位置返回字符。我们再来看一个小题目:

返回字符串中出现次数最多的字母以及次数。

var str = 'abcdeereeryhhssqqq';var o = {};for(var i = 0; i< str.length; i++){var chars = str.charAt(i);if(o[chars]){//判断o这个对象中有没有chars这个属性,有就++,没有就赋值1o[chars]++}else{o[chars] = 1}}//遍历var max = 0;var char = '';//k是属性//o[k]是属性值for( var k in o){if(o[k]>max){max = o[k];char = k;}}console.log('最多的字符是'+char+'次数为:'+max)
  • charCodeAt(index):返回相应索引号的字符ASCII值:判断用户按下了哪个键
  • str(index):获取指定位置字符

三、把字符串分割成字符串数组

  • stringObject.split(separator,howmany)
  1. separator:必需填。字符串或正则表达式,从从该参数指定的地方分割stringObject
  2. howmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

我们写一道题目来验证一下:

判断一个字符串是否是回文,例如:str = ‘上海自来水来自海上’。

        var str = '上海自来水来自上海';var strs = str.split('').reverse().join('');if(str == strs){alert('是回文')}else{alert('不是回文')}

我们利用split()函数,把字符串分割成了字符串数组,然后通过reverse()函数把数组反转,最后使用了jion()函数,又转换成了字符串。


最后,我们来看一下删除数字这个题目,我卡了很久,不知道大家在写的时候,有没有遇到相同的问题。

有一个字符串,需要我们把其中的数字删除,保留下字符。

   <script>var str = 'q34q2w4i1dav3';function delNumber(str) {var number = '123456789'for (var i = 0; i < str.length; i++) {var char = str.charAt(i);if (number.indexOf(char) != -1) {str = str.replace(char, '')}}console.log(str)}delNumber(str)</script>

这是我一开始的写法,但是运算结果不如意,总是会遗漏一些数字在原字符串中。后面想了很久才发现,当我们查找到需要删除的数字时,我用的是''去替换掉这个数字,这样的话,原来的“i”的索引号就会被后面的“i”取代掉,然后经过一个循环,i++,新“i”就会被遗漏掉,也就是我们总会有一些数字被遗漏在原字符串中。

想解决这个问题也很简单,我们只要在"str = str.replace(char, '')"这个语句后面 i-- 就好了。当然,我们也有其它写法。

        var str = 'q34q2w4i1dav3';var newStr = '';for(var i=0; i<str.length; i++){if(isNaN(str[i])){newStr += str}}console.log(newStr)

好啦,今天我们关于字符串的一些内置函数以及我们经常会遇到的一些题目就说到这里了,希望可以给大家一点点帮助。拜比~

JS | 涉及字符串的内置函数的一些题目相关推荐

  1. string是python内置函数吗_Python 字符串与内置函数(方法)

    一.字符串 1.字符串定义 a.定义时用成对双引号或成对单引号 b.也可以用成对的三个双引号或成对的三个单引号定义字符串(定义的字符串用包含单引号或双引号时可以用这个方法) c.字符串中间有单引号时, ...

  2. sum()转字符串_Python字符串与内置函数

    字符串 创建变量来保存字符串 字符串可以通过单.双.三引号创建字符串 message = "Hello,world"#变量mseeage,值为'hello,world'print( ...

  3. python字符串的内部函数_Python中字符串中内置函数

    字符串内置函数 len () 返回字符串长度 如:age = 31415926 print(len(age)) 输出:长度8 string.encode ("utf-8") 指定字 ...

  4. 《Python 1》--python的简介、解释器、读取键盘输入函数、变量类型推断、5个标准数据类型、字符串的内置函数、for循环、list列表、tuple元组、字典dictionary

    Python 的起源: Python 的创始人为吉多·范罗苏姆(Guido van Rossum) 1. 1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的**解释程序 ...

  5. python字符串的内置函数_python——字符串内置函数

    当字符串本身就含有\n之类的,可以用转义符.行显示(在字符串引号前面加r).repr(str)三种方法. 字符串内置方法 字符串内置方法: 1. capitalize(...) S.capitaliz ...

  6. Python 字符串的内置函数

    方法 描述 string.capitalize() 把字符串的第一个字符大写 string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 string ...

  7. python关于字符串的内置函数_Python 字符串内置函数(二)

    # 2.格式化相关 # ljust(width) 函数 获取固定长度,左对齐,右边不够用空格补齐 # rjust(width) 函数 获取固定长度,右对齐,左边不够用空格补齐 # center(wid ...

  8. python基础--字符串的内置函数

    1. bit_length()  获取对应字符串的比特长度,就是在内存的长度 举例: a = 5 b = a.bit_length() print(b)3 2. capitalize()   将首字母 ...

  9. python字符串的内部函数_「Python」字符串操作内置函数

    目录: capitalize casefold center count encode decode endswith expandtabs find format format_map index ...

  10. php字符串常用内置函数

    学习函数的大纲 1.作用 2.语法 3.示例 文章目录 字符串常用函数分类 1.字符串长度函数 2.查找字符串位置函数 3.字符串替换函数 4.提取字符串字符函数 5.分割,连接,反转函数 6.去除, ...

最新文章

  1. 多路径配置udev_ASM磁盘多路径及udev配置
  2. 深入Managed DirectX9(四)
  3. 想学python从哪里入手-想要学习python,如何入手学习?
  4. 流媒体传输协议---RTP--基础
  5. 关于MVC项目目录结构调整的想法
  6. 日志服务器搭建及配置_[ELK入门到实践笔记] 一、通过rsyslog搭建集中日志服务器...
  7. css 友情链接效果,友链样式与位置很重要!
  8. SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine
  9. How To Install IonCube Loader
  10. 怎么设置苹果手机的小圆点_iPhone屏幕旋转怎么设置?关于苹果手机设置的一些小技巧...
  11. 杭电1599 find the mincost route
  12. 【转】 CSS3实现10种Loading效果
  13. [C++]##(两个井号)和#(一个井号)都是什么意思
  14. 从RTS游戏看游戏开发-2
  15. java实现人民币金额大写
  16. XCTF练习题---MISC---simple_transfer
  17. 让linux识别html,8 款浏览器对 HTML5 支持评测
  18. 操作系统中生产者/消费者问题(一)
  19. 微信十周年,张小龙回答一切!2小时演讲,1.6万字完整版实录
  20. CNC系统G代码M代码大全

热门文章

  1. js鼠标单击和双击事件
  2. 数据分析入门必备基础知识
  3. 可缩放矢量图形svg
  4. Docker Registry搭建私有镜像仓库(干货)http/https
  5. (附源码)springboot基于微信小程序的超市收银系统 毕业设计 271611
  6. linux读和写线程同步,Linux:使用读写锁使线程同步
  7. 三年高级开发,六年成为架构师,到CTO我用了12年
  8. 总结DH密钥协商(会话密钥)
  9. selenium网页截图总结
  10. Win8系统108个运行命令