前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >JavaScript 字符串

JavaScript 字符串

作者头像
Nian糕
修改于 2024-03-19 07:05:44
修改于 2024-03-19 07:05:44
72000
代码可运行
举报
运行总次数:0
代码可运行
Unsplash
Unsplash

字符串的转换

toString() 方法,返回一个表示该对象的字符串,可以将所有的数据都转换为字符串,但是要排除掉 nullundefined

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var a = 10;
console.log(a.toString());
运行结果
运行结果

.toString() 括号中的可以写一个数字,代表进制,即.toString(2);代表该字符串的二进制

运行结果
运行结果

String() 函数,把对象的值转换为字符串,可以将 nullundefined 转换为字符串,但是没法转进制字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var a =10;
console.log(String(a));
运行结果
运行结果

注释:方法是属于对象的,而字符串能够使用方法,是因为 ECMAScript 提供了 3 种特殊的引用类型:Boolean,Number,String。实际上,每当读取一个基本类型值时,后台就会创建一个对应的基本包装类型的对象

字符串的创建

创建 String 对象一共有一下三种方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var str = new String("Nian糕");
var str1 = String("Nian糕");
var str2 = "Nian糕";

第一种是使用 String 构造函数严格的定义一个字符串对象,返回的也是一个对象 (object);

第二种是调用 String 函数,将转换参数 "Nian糕" 为原始字符串字符串并返回;

第三种是定义一个字符串变量,但在 JavaScript 仍然按照字符串对象来处理,我们通过 typeof 来看下区别

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
console.log(typeof str);
console.log(typeof str1);       
console.log(typeof str2);   
运行结果
运行结果

通过数组下标来获取字符串中的某一字符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var str = "hello world!";
console.log(str[0]);
console.log(str[5]);
console.log(str[11]);
运行结果
运行结果

String 类型都有一个 length 属性,表示字符串包含多少个字符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var str = "hello world!";
console.log(str.length);
运行结果
运行结果

接下来介绍下 String 对象常用的一些方法,我们一般只需要记住常用的就可以了,至于其他的一些方法,在需要用到的时候,再去查询就可以了

字符串操作

a. 字符串拼接

concat() 方法,将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.concat(string2, string3[, ..., stringN])
运行结果
运行结果

b. 字符串替换

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stringObject.replace(regexp/substr,replacement)

参数 regexp / substr 必需,规定子字符串或要替换的模式的 RegExp 对象,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象replacement必需,一个字符串值,规定了替换文本或生成替换文本的函数

运行结果
运行结果

如果需要全局替换,只要在替换字符串后加上一个 g 就可以了

运行结果
运行结果

c. 字符串查找,返回字符子串

charAt() 方法从一个字符串中返回指定的字符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.charAt(index)

参数 index 一个介于 0 和 1 - 小于字符串的长度之间的整数 (0~n-1),如果没有提供索引,charAt() 将使用 0

返回值 字符串中的字符从左向右索引,第一个字符的索引值为 0,最后一个字符的索引值为 stringName.length - 1,如果指定的 index 值超出了该范围,则返回一个空字符串

运行结果
运行结果

d. 字符串查找,返回 Unicode 编码

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码,这个返回值是 0 - 65535 之间的整数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stringObject.charCodeAt(index)

参数 index 一个大于等于 0,小于字符串长度的整数,如果不是一个数值,则默认为 0

返回值 返回值是一表示给定索引处字符的 UTF-16 代码单元值的数字;如果索引超出范围,则返回 NaN

运行结果
运行结果

注释:与该方法对应的一个方法是 fromCharCode(),返回使用指定的Unicode值序列创建的字符串,大家可以自行了解,在这里不做过多的介绍

e. 字符串查找,返回位置

search() 方法,执行正则表达式和 String 对象之间的一个搜索匹配

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.search(regexp)

参数 regexp,一个正则表达式 (regular expression) 对象,如果传入一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象

返回值 如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引,否则,返回 -1

运行结果
运行结果

f. 字符串分割

split() 方法将一个 String 对象分割成字符串数组,通过将字符串分成子串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.split([separator],[limit])

参数 separator 指定用来分割字符串的字符,separator 可以是一个字符串或正则表达式, 如果忽略 separator,则返回整个字符串的数组形式,如果 separator 是一个空字符串,则 str 将会把原字符串中每个字符的数组形式返回

limit 一个整数,该参数可选,限定返回的分割片段数量,split 方法仍然分割每一个匹配的 separator,但是返回的数组只会截取最多 limit 个元素

运行结果
运行结果

g. 获取字符的位置

indexOf() 方法,返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回 -1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stringObject.indexOf(searchvalue,fromindex)

参数 searchElement 要查找的元素

fromIndex 开始查找的位置,如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回 -1;如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即 -1 表示从最后一个元素开始查找,-2 表示从倒数第二个元素开始查找 ,以此类推

返回值 首个被找到的元素在数组中的索引位置,若没有找到则返回 -1

运行结果
运行结果

h. 获取字符最后出现的位置

lastIndexOf() 方法,返回指定值在调用该方法的字符串中最后出现的位置,如果没找到则返回 -1,从该字符串的后面向前查找,从 fromIndex 处开始

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.lastIndexOf(searchValue[, fromIndex])

参数 searchValue 一个字符串,表示被查找的值

fromIndex 从调用该方法字符串的此位置处开始查找,可以是任意整数,默认值为 str.length,如果为负值,则被看作 0,如果 fromIndex > str.length,则 fromIndex 被看作 str.length

运行结果
运行结果

i. 字符提取

slice() 方法,将数组的一部分浅拷贝, 返回到从开始到结束(不包括结束)选择的新数组对象,原始数组不会被修改

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.slice(beginSlice[, endSlice])

beginSlice 从该索引(以 0 为基数)处开始提取原字符串中的字符,如果值为负数,会被当做 sourceLength + beginSlice 看待,这里的 sourceLength 是字符串的长度 (例如, 如果 beginSlice 是 -3 则看作是 sourceLength - 3)

endSlice 可选,在该索引(以 0 为基数)处结束提取字符串,如果省略该参数,slice 会一直提取到字符串末尾,如果该参数为负数,则被看作是 sourceLength + endSlice,这里的 sourceLength 就是字符串的长度(例如,如果 endSlice 是 -3,则是 sourceLength - 3)

运行结果
运行结果

j. 字符提取

substring() 方法,返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.substring(indexStart[, indexEnd])

参数 indexStart 一个 0 到字符串长度之间的整数

indexEnd 可选,一个 0 到字符串长度之间的整数

运行结果
运行结果

关于字符提取的方法还有一个,我们来简单了解一下

substr() 方法,返回一个字符串中从指定位置开始到指定字符数的字符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.substr(start[, length])

参数 start 开始提取字符的位置,如果为负值,则被看作 strLength + start,其中 strLength 为字符串的长度

length 可选,提取的字符数

注释: ECMAscript 没有对该方法进行标准化,因此不推荐使用该方法

k. 大小写转换

toLowerCase() 会将调用该方法的字符串值转为小写形式,并返回

toUpperCase() 将调用该方法的字符串值转换为大写形式,并返回

运行结果
运行结果

l. 字符串匹配

match() 方法,当一个字符串与一个正则表达式匹配时, 检索匹配项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
str.match(regexp);

参数 regexp 一个正则表达式对象,如果传入一个非正则表达式对象,则会隐式地使用 new RegExp(obj) 将其转换为一个 RegExp ,如果你未提供任何参数,直接使用 match(),那么你会得到一个包含空字符串的 Array : [""]

返回值 array 一个包含了整个匹配结果以及任何括号捕获的匹配结果的 Array ,如果没有匹配项,则返回 null

运行结果
运行结果

m. 去掉首尾空格

trim() 方法会删除一个字符串两端的空白字符,在这个字符串里的空格包括所有的空格字符 (space, tab, no-break space 等)以及所有的行结束符(如 LF,CR)

运行结果
运行结果
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.03.25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
js字符串/数组常用方法总结
str.charAt(index); 从一个字符串中获取索引为index的字符。
Daotin
2020/09/06
3.2K0
JavaScript 字符串实用常操纪要
JavaScript 字符串用于存储和处理文本。因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Date 时,诸此等等,繁不能数;而她那蛮多的 API 呵,总有些让人不愿去记忆的冲动,既然用时常搜,倒不如烂笔头一番,以作了结,顺道也体现下这博客存在的价值,由此就有了这篇纪要。 字符串实用常操纪要 字符串截取 1. substring() xString.substring(start,end) substr
晚晴幽草轩轩主
2018/03/27
8210
JavaScript 28个常用字符串方法及使用技巧
今天再来看一些JavaScript基础知识,基础太重要了。还清楚的记得,今年春招的时候,某大厂面试官狠狠的嘲讽我 JavaScript 的API都记不住🤣太尴尬了,主要还是用的太少了,所以平时还是要多用多积累。今天我们就来看看JavaScript中有哪些常用的字符串方法!文章内容较多,建议先收藏再学习! 1. 获取字符串长度 JavaScript中的字符串有一个length属性,该属性可以用来获取字符串的长度: const str = 'hello'; str.length // 输出结果:5 复
玖柒的小窝
2021/09/24
2.3K0
JavaScript 28个常用字符串方法及使用技巧
Js中String对象
创建一个字符串可以通过字面量的方式,通过字面量创建的字符串变量在调用方法的时候能够自动转化为临时的包装对象,从而能够调用其构造函数的原型中的方法,也可以利用String对象生成字符串对象,此外在ES6标准还定义了模板字面量用以生成字符串的方式。
WindRunnerMax
2020/09/18
7.7K0
JavaScript 包含某个字符串
JavaScript 判断子串方法。 String 对象方法 indexOf() var str = "123"; console.log(str.indexOf("3") != -1); // true console.log(str.search("3") != -1); // true console.log(str.match(reg));// true 方法返回指定字符串首次出现的位置,如果未找到,则返回 -1 。 方法用来检索字符串中指定的子串,或检索与正则表达式相配置的字符串,如果未找到配置
zucchiniy
2019/10/30
1.4K0
javascript字符串包含单双引号_js的字符串方法
在任何编程语言中,检查字符串是否包含子字符串都是常见的任务。例如,假设您正在构建在线游戏。您可能需要检查用户名是否包含禁止使用的短语,以确保所有用户名都适合您的游戏。
全栈程序员站长
2022/11/08
3.3K0
javascript正则表达式与字符串
说到js正则表达式,js的字符串就是一个绕不开的话题 字符串是正则表达的是一种实践 字符串String支持一些支持正则表达式的方法,昨天提到的replace就是其中之一 它们分别是:
陌上寒
2019/04/02
1K0
javascript正则表达式与字符串
JavaScript编码之路 【JavaScript之操作数组、字符串方法汇总】
数组基本操作可以归纳为增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会
HelloWorldZ
2024/03/20
1960
JavaScript编码之路 【JavaScript之操作数组、字符串方法汇总】
第199天:js---扩充内置对象功能总结
一、数组 1、删除数组中指定索引的数据 1 /** 删除数组中指定索引的数据 **/ 2 Array.prototype.deleteAt = function (index) { 3 if (index < 0) { 4 return this; 5 } 6 return this.slice(0, index).concat(this.slice(index + 1, this.length)); 7 } 2、数组洗牌 1 /** 数组洗牌 **/ 2 Arr
半指温柔乐
2018/09/11
7940
javascript正则表达式 教程_js正则表达式匹配字符串
其实我写这篇文章的话,主要是想自己重新复习一遍正则表达式。我们也知道正则表达式在很多语言中都是通用的,所以学好这个好处很多。接下来,就跟我一起来学习一下正则表达式,从0到入门吧。
全栈程序员站长
2022/11/06
3.4K0
js-字符串方法
chartAt()以单字符字符串的形式返回给定位置的那个字符。而charCodeAt()返回的是字符编码。
eadela
2019/09/29
5K0
js-字符串方法
javascript字符串
字符串是JavaScript中7种数据中的一种,用于表示由零个或多个16位的Unicode字符组成的字符序列。创建字符串有两种方式,一种是字面量,另一种是构造函数。
踏浪
2019/07/31
5030
JavaScript 学习-21.正则表达式 RegExp 对象
前言 RegExp:是正则表达式(regular expression)的简写。RegExp 对象用于规定在文本中检索的内容。 创建 RexExp 对象 创建正则表达式有两种方式: 第一种:使用字面量创建 RegExp 对象的语法: var p = /pattern/attributes; 第二种:使用 new 创建RegExp对象的语法: var p = new RegExp(pattern, attributes); 参数释义: 1.参数pattern是一个字符串,指定了正则表达式的模式或其他正则表达式
上海-悠悠
2022/05/25
5390
【JS】369- 20个常用的JavaScript字符串方法
concat() 方法用于连接两个或多个字符串,此方法不改变现有的字符串,返回拼接后的新的字符串。
pingan8787
2019/10/09
7230
字符串方法整理
字符串方法 字符串切割 slice strObj.slice(start[,end]) 参数为负,将它作为length+end处理,此处length为字符串的长度。  str.slice(-2)可以取字符串后两位 substring strObj.substring(start[,end])  substring方法使用start和end两者中的较小值作为子字符串的起始点。 如果start或end为NaN或者为负数,那么将其替换为0。  两个参数不确定是起始位置还是结束位置时使用 substr strObj
mcq
2018/06/20
6240
javascript大法好,不用记
数组的操作 ---- Array.prototype.toString ( ) 把数组转变为字符串,返回字符串,arr.toString(); ---- Array.prototype.toLocaleString ( ) 这个也是把数组转变为字符串,返回字符串,但是带有本地字符串格式,主要是日期方面有不一样,arr.toString(); ---- Array.prototype.concat ( [ item1 [ , item2 [ , … ] ] ] ) 把数组链接在目标数组上,并且返回目标数组,t
前朝楚水
2018/04/02
6880
JavaScript 正则表达式入门教程
正则表达式是描述一组字符串特征的模式,用来匹配特定的字符串 主要分三个部分:基本语法、RegExp对象的方法、JS中支持正则表达式的String对象方法 一、基本语法 在JS中,正则表达式为对象,用如下两种方式定义: 直接量法: /pattern/attributes;创建RegExp对象法:new RegExp(pattern,attributes); var reg=/hi/i;//字面量 var reg=new RegExp('hi','i');//构造函数(参数1:最简单的正则匹配字母hi;参数2:
小古哥
2018/03/08
1.3K0
js string字符串常用方法
fromCharCode()方法用于根据给定的 UTF-16 码元创建字符串中的字符。这个方法可以接受任意
IT工作者
2022/05/13
2.3K0
js 判断是否字符串_js字符串查找
indexOf 返回指定字符串在该字符中首次出现的位置,如果没有找到,则返回 -1 indexOf 接收两个参数,第一是需要搜索的字符串,第二个参数是检索的位置,默认为0
全栈程序员站长
2022/11/08
10.8K0
字符串
1、charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。
天天_哥
2018/09/29
4370
相关推荐
js字符串/数组常用方法总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文