十八、字符串

#18.1.认识字符串

#什么是字符串

字符串可以是引号中的任意文本。字符串可以由双引号(")或单引号(')表示 ,如 ‘hello’ , “中国”

#为什么

当我们需要对某些事物进行描述时,就需要用文本,如果不给文本加引号,它就成了非法字符。而且在实际开发过程中,我们会频繁的操作字符串;所以我们需要一些快捷的方法,来实现对字符串的操作

#18.2.创建字符串

ü 字面量方式

ü new方式

字面量方式:

直接使用引号引用即可。单双引号都行。

img

new方式

#18.3.字符串的基本操作

#字符串的length属性

语法:str.length

功能:表示字符串的长度,字符的个数

说明:字符串的长度只能获取不能设置;但数组的长度既可以获取,也可以设置;

#访问字符串中的字符 (索引即下标)

语法:str[下标]

功能:获取字符串中指定下标的字符

参数:下标从0开始;最大下标为str.length-1

#遍历字符串

注意:字符串一旦创建,任何的方法都不可以修改这个字符串;

#18.4.字符串的方法

#1.字符串的查找

#1.1.charAt()

功能:查找字符串中指定位置的字符;

​ 语法:str.charAt(index);

​ 参数:index表示位置(下标)

​ 返回值:对应位置的字符;

#1.2.indexOf()

功能:查找目标值在字符串中的位置(从前往后找)

​ 语法:str.indexOf(target,index);

​ 参数:target:查找目标值 ,index:开始查找的位置

​ 说明:index可以省略,如果省略默认从下标0开始找

​ 返回值:找到返回下标,找不到返回-1

#1.3lastIndexOf()

功能:查找目标值在字符串中的位置(从后往前找)

​ 语法:str.lastIndexOf(target,index); //从index位置开始向前找target

​ 参数:target:查找目标值 ,index:开始查找的位置

​ 说明:index可以省略,如果省略默认从最后一个下标开始向前找

​ 返回值:找到返回下标,找不到返回-1

#2.字符串的截取

#slice()

功能:字符串的截取

​ 语法:str.slice(start,end);

​ 参数:start:开始截取的下标,end表示截取结束的下标(包含开始,不包含结束)

​ 返回值:截取到的字符串;

​ 说明:1)str.slice(start,end) //从start下标截取到end下标(不包含end)

​ 2)str.slice(start); 从start下标开始一直截取到最后

​ 3)str.slice();//全部截取

​ 4)slice支持负值,负值可以从后往前数,找到对应的下标;

#substr()

语法:str.substr(start,count)

​ 功能:从start下标开始,截取count个字符

​ 参数:start:开始下标, **count: ** 截取的个数

​ 返回值:截取到的字符串

​ 说明:1)str.substr(start,count); //从start下标开始,截count个字符

​ 2)str.substr(start);//从start下标开始一直截取到最后

​ 3)str.substr();//全部截取

#substring();

语法:str.substring(start,end);

​ 功能:从start下标开始截取到end下位;(不包含end);

​ 返回值:截取到是字符串

​ 说明:1)substring不支持负值,如果遇到负值或NaN直接转0

3)自动将小值作为开始下标,大值作为结束下边;

#3.字符串的合并 concat

​ 语法:str1.concat(str2,str3,....);

​ 功能:将多个字符串拼接一个新的字符串

​ 返回值:返回一个新字符串

#4.字符串的替换 replace

语法:str.replace("被替换的字符","新替换字符");

​ 功能:字符的替换

​ 说明:只能替换第一个

img

#5.字符串大小写转换

#转大写 toUpperCase();

语法:str.toUpperCase();

​ 功能:将小写字母转为大写

img

#转小写 toLowerCase();

语法:str.toLowerCase();

​ 功能:将大写字符转小写

img

#6. 字符串的去前后导空格

语法:str.trim();

功能:去掉字符串前面和后面的空格

注意:中间的空格不能去掉

img

#7. 字符串转数组

语法:str.split(分隔符);

功能:将字符串转为数组;

#小结:

\1. 字符串的左右方法都不会修改原字符串

\2. 字符串和数组的公共方法:indexOf() lastIndexOf() slice() concat();

\3. 字符串转数组 split();

\4. 数组转字符串 join();

#作业:

1、 题目:var str='abc' 让字符串重复3遍,成为 str='abcabcabc'

思路:循环,拼接

2、题目:str='abc!123bd#e5&66';

//去掉字符串中的!、#、&字符,形成结果: 'abc123bde566 '

​ 思路1:找到 !# & 的位置,然后截取 abc 123bd 等拼接

​ 思路2:遍历字符,判断,拼接

3、题目:str='abc!123bd#e5&66';中 #之前的 所有数字[].

形成结果str='abc![1][2][3]bd#e5&66'

​ 思路:将#前面的内容拿到,然后判断每一个字符,如果是数字,加上左右括号,否则字节拼接

4、题目:str = “I like learning javascript , I can”,截取字符串:先判断字符串中是否有javascript字符,如果没有res置为false,如果有则截取出javascript字符串

​ 思路:第二个单词,是第一个空格和第二个空格之间的内容,所以找到两个位置,截取

​ 第二个空格利用indexOf的第二个参数

5、题目:使用prompt弹出输入框,要求用户输入一个英文的语句,将输入语句的第二个单词截取出来 indexOf(target,index)

思路:利用indexOf判断是否存在,如果存在,利用substr截取

6、题目:补全代码题:给定字符串 str,检查其是否包含数字,包含返回 true,否则返回 false。

function containsNumber(str){

//不全代码

}

思路:遍历,判断每一个字符,如果是数字,返回true

js上 十八、字符串的更多相关文章

  1. js上 十九、综合案例

    十九.综合案例 题目一: 封装一个函数equal(a1,a2),传入两个一维数组,判断两个数组是否包含相同的元素,如果相等,函数的返回值为true, 不相等,函数的返回值为false 1)例:arr1 ...

  2. js上 十六、数组-2

    十六.数组-2 #4.3万能法:splice(): #4.3.1.删除功能 ​ 语法:arr.splice(index,num); //num表示删除的长度 ​ 功能:从下标index位置开始,删除n ...

  3. js上 十四、对象

    十四.对象 #1.初识对象 什么是对象? 在js中,一切皆是对象. 对象,生活中可见和不可见的东西,在世界中,客观存在的都是一个对象. 桌子,笔记本,手机,人. 在日常生活中,我们是如何来描述这个对象 ...

  4. js上 十五、数组-1

    十五.数组-1 #1.什么是数组 组:由多个成员构成的一个集体. 数组:数组是值的有序集合 值就是前面所讲过的这些数据(各种数据类型的都可以) 是数组中,每一个值(如100,'js',true)都称之 ...

  5. selenium测试(Java)--执行JS(十八)

    1.  操作滚动条 package com.test.js; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; ...

  6. js上 十二、函数初步-1

    11-1.引入(认识函数) ​ 引入: 说起函数,其实我们并不陌生,在初中数学中我们就接触过函数:例如我们所学的 y = 2X+1 ; 这是一个二元一次方程,也是我们数字中的函数: ​ 当我们每次输入 ...

  7. js上 十、循环语句-1:

    十.循环语句-1: 非常之重要. 作用:重复执行一段代码 ü while ü do...while ü for 它们的相同之处,都能够实现循环. 不同的地方,格式不一样,使用的场景略有不同. #10- ...

  8. Alink漫谈(十八) :源码解析 之 多列字符串编码MultiStringIndexer

    Alink漫谈(十八) :源码解析 之 多列字符串编码MultiStringIndexer 目录 Alink漫谈(十八) :源码解析 之 多列字符串编码MultiStringIndexer 0x00 ...

  9. Bootstrap入门(二十八)JS插件5:工具提醒

    Bootstrap入门(二十八)JS插件5:工具提醒 工具提示在使用过程中比较常见,但是实现起来有些麻烦,而bootstrap则很好地解决了这个问题. 我们来写一个简单的实例 先引入CSS文件和JS文 ...

随机推荐

  1. "三剑客"之awk心中无剑

    一.awk介绍 awk 是一种程序语言. 它具有一般程序语言常见的功能. 因awk语言具有某些特点, 如 : 使用直译器(Interpreter)不需先行编译; 变量无类型之分(Typeless), ...

  2. Camtasia中对录制视频进行编辑——旁白

    相信很多人都遇见过想要录制视频,但是不知道在电脑上用哪一款软件比较好,害怕自己录的视频导出来之后会有水印,或者在录制的过程中遇到麻烦,更或者下载一款带有病毒的软件.那么今天我便给大家推荐一款专业录制屏 ...

  3. 如何将多个网页合并成一个PDF文件

    pdfFactory是一款PDF虚拟打印软件,但与其他虚拟打印机软件不同的是,它使用起来更加简单高效.由于无需Acrobat就能生成Adobe PDF文件,它可以帮助用户在系统没有连接打印机的情况下, ...

  4. 苹果电脑下载器Folx迷你窗口有什么用途

    苹果电脑下载器Folx的迷你窗口功能,及时地了解不同任务的下载进度.另外,也可以通过带宽活动窗口了解任务的占用带宽情况,以便及时限制过多的带宽占用.接下来,一起来看看如何操作吧. 图1:软件界面 一. ...

  5. 商业智能(BI)可视化大屏的设计及使用原则

    信息时代,数据是一种可贵的资源,我们可能经常听到的一句话就是:用数据说话.但是,在没有进行系统化整理之前,数据不过只是一串串冰冷的数字,我们很难从大量的数据中获取到有价值的信息.只有通过合适的可视化工 ...

  6. [poi使用]使用excel模版导出excel

    ​ Apache POI是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目.简而言之,您可以使用Java读写MS ...

  7. 关于redis在cluster模式化下的 分布式锁的探索

    背景 redis作为一个内存数据库,在分布式的服务的大环境下,占的比重越来越大啦,下面我们和大家一起探讨一下如何使用redis实现一个分布式锁  说明       一个分布式锁至少要满足下面几个条件 ...

  8. 【CF600E】Lomsat gelral——树上启发式合并

    (题面来自luogu) 题意翻译 一棵树有n个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和. ci <= n <= 1e5 裸题.统计时先扫一遍得到出 ...

  9. dubbo协议之编码请求对象体

    上节我们看了如何编码请求头,这节一起看下过程中,对请求对象的编码,涉及对接口,方法,方法参数类型,方法参数进行编码,DubboCodec中重写了这个方法: request.getData向下转型成Rp ...

  10. mysql 优化数据类型

    1.更小的通常更好 选择不会超过范围的最小类型 2.简单就好 例如,整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比整形比较更复杂. 3.尽量避免null 如果查询中包含可为nul ...