JavaScript学习手册九:字符串的常用方法

您所在的位置:网站首页 查找文字函数的方法 JavaScript学习手册九:字符串的常用方法

JavaScript学习手册九:字符串的常用方法

2024-01-01 07:03| 来源: 网络整理| 查看: 265

字符串的常用方法 1、查找字符串的位置任务描述相关知识indexOflastIndexOf代码文件 2、求指定位置的字符任务描述相关知识charAt()代码文件 3、字符串的截取任务描述相关知识slice()substring()substr()代码文件 4、大小写转换任务描述相关知识toLowerCase()toUpperCase()代码文件 5、字符串的分割任务描述相关知识split()代码文件

1、查找字符串的位置 任务描述

本关任务:调用JavaScript内置的函数实现字符串的查找。

具体要求如下:

函数mainJs()有两个字符串参数a和b,其中b比较短;要求将b从左到右在a中查找,返回查找的位置之和;比如a为ababab,b为ab,b在三个地方与a的子串查找,位置分别是0、2和4,返回他们的和6; 相关知识 indexOf

子字符串指一个字符串中连续的一部分。 在这里插入图片描述 上图中有两个字符串aaabc和abc,将abc从左往右在aaabc中查找,第一次出现的位置是在aaabc的索引2处。

indexOf()就是返回某个字符串在字符串中首次出现的位置。如果搜索到尾部还没有找到,返回-1。indexOf(a,b)中参数a是字符串;b是开始查找的位置,即从调用者(一个字符串)的第几个位置开始查找,可选。 var short = "ab"; var long = "aabccccaab"; var mix = "cdef"; long.indexOf(short);//返回1 long.indexOf(short,4);//返回8 long.indexOf(mix);//返回-1

可以看到第4行与第5行的结果不同,因为第5行是从long的第5个字符开始查找的。

lastIndexOf

从名字上就可以知道,这个函数与indexOf()功能很相似,区别是搜索方向是从后往前搜索。

lastIndexOf()也有两个参数,含义同indexOf()。

var short = "ab"; var long = "aabccccaab"; var mix = "cdef"; long.lastIndexOf(short);//返回8 long.lastIndexOf(short,4);//返回1 long.lastIndexOf(mix);//返回-1 代码文件 function mainJs(a,b) { //请在此处编写代码 /********** Begin *********/ var index = a.indexOf(b); var sum = 0; while(index>=0){ sum+=index; index = a.indexOf(b,index+b.length); } return sum; /********** End **********/ } 2、求指定位置的字符 任务描述

大家的身份证号都是18位,其中的前六位是所在籍贯的省市县的编码,根据它,就可以知道一个人是哪里人。

本关任务:取出身份证的前六位。

具体要求如下:

mainJs()的参数a是一个身份证号,要求返回其中的前六位; 相关知识 charAt()

charAt()作用是返回调用者指定位置的字符,位置从0计数:

var str = "abcdefg"; console.log(str.charAt(0));//输出a console.log(str.charAt(str.length-1));//输出g 代码文件

【如果用charAt()取字符的话,可以写个循环,取前六个字符然后拼接在一起,如第一种方法,第二种方法是下一关的方法】

function mainJs(a) { //请在此处编写代码 /********** Begin **********/ var b = ""; for(var i=0;i //请在此处编写代码 /********** Begin **********/ return a.slice(0,6); /********** End **********/ } 3、字符串的截取 任务描述

生物系的Sivan博士在做DNA测定的时候,不小心往碱基对序列中(由A、T、G、C、U组成的序列)插入了无关的字符串,他想请你帮忙,删掉这些无关的字符串。

本关任务:利用字符串的截取功能实现剔除无关字符串。

具体要求如下:

参数a表示待处理的碱基对序列,参数b表示可能的杂质字符串,a中只混入了0个或者1个杂质b,无其它杂质字符串;你需要删除杂质b,返回无杂质的a碱基对; 相关知识

------字符串的截取是指获得原来字符串连续的一部分。这种操作很常见,比如现在各大互联网企业的招聘官网上,应聘者在填入身份证号码后,页面会自动截取中间6位生成出生日期,这是一种提高页面体验的方式。

slice() slice(a,b)的作用是截取a位置(含)到b位置(不含)之间的字符串,被截取的字符串不变,返回截取后获得的子字符串。比如a是0,b是3,则截取0、1、2三个位置的字符。b为可选参数,不填则表示截取到字符串的尾部。a或b为负数时表示从右往左排,即-1表示最右侧的位置,依次类推。 var str = "0123456789"; console.log(str.slice(0,4));//输出0123 console.log(str.slice(3));//输出3456789 console.log(str.slice(-3));//输出789 console.log(str.slice(-5,-2));//输出567 substring() substring(a,b)与slice(a,b)功能相同,参数的意义也相同:a和b都是表示位置的数字。只是参数的处理有些不同:a或b为负数时,自动转换为0;a大于b时,编译器会自动对调两者。 var str = "0123456789"; console.log(str.substring(0,4));//输出0123 console.log(str.substring(-1,4));//输出0123 console.log(str.substring(4,0));//输出0123 substr()

与上面的两个函数不同,

substr(a,b)指定开始位置和要截取的长度。 a表示开始位置(包含);b表示截取的长度,可选。不填则截取到字符串结尾处;a为负数时表示从右往左排,即-1表示最右侧的位置,依次类推。 var myStr = "0123456789"; console.log(myStr.substr(3));//输出3456789 console.log(myStr.substr(3,2));//输出34 console.log(myStr.substr(-2));//输出89 代码文件 function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ var c = a.indexOf(b) if(c!=-1){ return (a.slice(0,c)+a.slice(b.length+c)); } return a; /********** End **********/ } 4、大小写转换 任务描述

本关任务:对指定位置的子字符串进行大小写转换。

具体要求如下:

已知参数a和b都是字符串,a比b长;要求找到a中所有与b匹配的子字符串,将这些子字符串全部转化为大写,a的其它部分不变,返回转化完成后的a; 相关知识 toLowerCase()

toLowerCase()把字符串中的所有大写英文字母转为小写,返回转换后的字符串,但是操作该函数的字符串不变。

var upperStr = "aBCd"; var lowerStr = upperStr.toLowerCase(); console.log(upperStr);//输出aBCd console.log(lowerStr);//输出abcd toUpperCase()

与上面的函数相反,toUpperCase()把字符串中的所有小写英文字母转为大写,返回转换后的字符串,但是操作该函数的字符串不变。

var str = "asdf"; var strin = str.toUpperCase(); console.log(str);//输出asdf console.log(strin);//输出ASDF 代码文件

【RegExp是后面要学习的】

function mainJs(a,b) { //请在此处编写代码 /********** Begin **********/ var string = b.toUpperCase(); for(var i=0;i //请在此处编写代码 /********** Begin **********/ return a.split(" ").length+a.split(",").length-1; /********** End **********/ }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3