js系列之详解字符串
前言
javaScript 字符串用于存储和处理文本,几乎被所有的编程语言所实现(然而c、c++没有提供)。多数开发者几乎每天都在和字符串打交道,语言内置的String模块,极大地提升了开发者的效率。本文对js字符串常用的方法进行了整理
字符串属性
属性 | 描述 |
---|---|
constructor | 返回创建字符串属性函数 |
length | 返回字符串的长度 |
prototype | 允许您向对象添加属性和方法 |
字符串方法
charAt()
返回在指定位置的字符
例子1:
返回字符串中的第三个字符
var str = "HELLO WORLD";
var n = str.charAt(2)
console.log(n);
运行结果
例子2:
返回字符串中的最后一个字符
var str = "HELLO WORLD";
var n = str.charAt(str.length-1);
console.log(n);
运行结果
charCodeAt()
返回在指定的位置的字符的Unicode编码
例子1:
返回字符串第一个字符的 Unicode 编码
var str = "HELLO WORLD";
var n = str.charCodeAt(0);
console.log(n);
运行结果
例子2:
返回字符串中最后一个字符的 Unicode 编码
var str = "HELLO WORLD";
var n = str.charCodeAt(str.length-1);
console.log(n);
运行结果
concat()
连接两个或更多字符串,并返回新的字符串
例子1:
连接两个字符串
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2);
console.log(n);
运行结果
例子2:
连接3个字符串
var str1="Hello ";
var str2="world!";
var str3=" Have a nice day!";
var n = str1.concat(str2,str3);
console.log(n);
运行结果
fromCharCode()
将Unicode编码转为字符
例子1:
将 Unicode 编码转为一个字符
var n = String.fromCharCode(65);
console.log(n);
运行结果
例子2:
将 Unicode 编码转换为一个字符串
var n = String.fromCharCode(72,69,76,76,79);
console.log(n);
运行结果
indexOf()
返回某个指定的字符串值在字符串中首次出现的位置
例子1:
查找字符串 “welcome”
var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");
console.log(n);
运行结果
例子2:
在字符串查找字符 “e” 第一次出现的位置
var str="Hello world, welcome to the universe.";
var n=str.indexOf("e");
console.log(n);
运行结果
例子3:
在字符串第五个位置开始查找字符 “e” 第一次出现的位置
var str="Hello world, welcome to the universe.";
var n=str.indexOf("e",5);
console.log(n);
运行结果
includes ()
查找字符串中是否包含指定的子字符串
例子1:
查找字符串是否包含 “world”
var str = "Hello world, welcome to the Runoob。";
var n = str.includes("world");
console.log(n);
运行结果
例子2:
从第 12 个索引位置开始查找字符串
var str = "Hello world, welcome to the Runoob.";
var n = str.includes("world", 12);
console.log(n);
运行结果
lastIndexOf ()
从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置
例子1:
查找字符串 “runoob” 最后出现的位置
var str="I am from runoob,welcome to runoob site.";
var n=str.lastIndexOf("runoob");
console.log(n);
运行结果
例子2:
从第 20 个字符开始查找字符串 “runoob” 最后出现的位置
var str="I am from runoob,welcome to runoob site.";
var n=str.lastIndexOf("runoob", 20);
console.log(n);
运行结果
match ()
查找找到一个或多个正则表达式的匹配
例子1:
在字符串中查找 “ain”
var str="The rain in SPAIN stays mainly in the plain";
var n=str.match(/ain/g);
console.log(n);
运行结果
例子2:
全局查找字符串 “ain”,且不区分大小写
var str="The rain in SPAIN stays mainly in the plain";
var n=str.match(/ain/gi);
console.log(n);
运行结果
repeat ()
复制字符串指定次数,并将它们连接在一起返回
例子1:
复制字符串 “Runoob” 两次
var str = "Runoob";
console.log(str.repeat(2));
运行结果
replace ()
在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串
例子1:
在本例中,我们将执行一次替换,当第一个 “Microsoft” 被找到,它就被替换为 “Runoob”
var str="Visit Microsoft! Visit Microsoft!";
var n=str.replace("Microsoft","Runoob");
console.log(n);
运行结果
例子2:
执行一个全局替换
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/g,"red");
console.log(n);
运行结果
例子3:
执行一个全局替换, 忽略大小写
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/gi, "red");
console.log(n);
运行结果
search ()
查找与正则表达式相匹配的值
例子1:
查找 “Runoob”
var str="Visit Runoob!";
var n=str.search("Runoob");
console.log(n);
运行结果
例子2:
执行一次对大小写敏感的查找
var str="Mr. Blue has a blue house";
console.log(str.search("blue"));
运行结果
例子3:
执行一次忽略大小写的检索
var str="Mr. Blue has a blue house";
console.log(str.search(/blue/i));
运行结果
slice ()
提取字符串片段,并在新的字符串中返回被提取的部分
例子1:
提取字符串的片断
var str="Hello world!";
var n=str.slice(1,5);
console.log(n);
运行结果
例子2:
提取最后一个字符
var str="Hello world!";
var n=str.slice(-1);
console.log(n);
运行结果
split ()
把字符串分割成字符串数组
例子1:
把一个字符串分割成字符串数组
var str="How are you doing today?";
var n=str.split(" ");
console.log(n);
运行结果
例子2:
n 将输出3个数组的值
var str="How are you doing today?";
var n=str.split(" ",3);
console.log(n);
运行结果
例子3:
使用一个字符作为分隔符
var str="How are you doing today?";
var n=str.split("o");
console.log(n);
运行结果
startsWith ()
查看字符串是否以指定的子字符串开头
例子1:
查看字符串是否为 “Hello” 开头
var str = "Hello world, welcome to the Runoob.";
var n = str.startsWith("Hello");
console.log(n);
运行结果
例子2:
查看从第 6 个索引位置是否以 “world” 开头
var str = "Hello world, welcome to the Runoob.";
var n = str.startsWith("world", 6);
console.log(n);
运行结果
substr ()
从起始索引号提取字符串中指定数目的字符
例子1:
抽取指定数目的字符
var str="Hello world!";
var n=str.substr(2,3)
console.log(n);
运行结果
例子2:
在本例中,我们将使用 substr() 从字符串第二个位置中提取一些字符
var str="Hello world!";
var n=str.substr(2)
console.log(n);
运行结果
substring ()
提取字符串中两个指定的索引号之间的字符
例子1:
在本例中,我们将使用 substring() 从字符串中提取一些字符
var str="Hello world!";
console.log(str.substring(3));
console.log(str.substring(3,7));
运行结果
toLowerCase ()
把字符串转换为小写
例子1:
把字符串转换为小写
var str="Runoob";
console.log(str.toLowerCase());
运行结果
toUpperCase ()
把字符串转换为大写
例子1:
把字符串转换为大写
var str="Runoob";
console.log(str.toUpperCase());
运行结果
trim ()
去除字符串两边的空白
例子1:
去除字符串的头尾空格
var str = " Runoob ";
console.log(str.trim());
运行结果
toLocaleLowerCase ()
根据本地主机的语言环境把字符串转换为小写
例子1:
将字符串转换为小写
var str = "Runoob";
var res = str.toLocaleLowerCase();
console.log(res);
运行结果
toLocaleUpperCase ()
根据本地主机的语言环境把字符串转换为大写
例子1:
将字符串转换为大写
var str = "Runoob";
var res = str.toLocaleUpperCase();
console.log(res);
运行结果
valueOf ()
返回某个字符串对象的原始值
例子1:
返回 String 对象的原始值
var str="Hello world!";
console.log(str.valueOf());
运行结果
toString ()
返回一个字符串
例子1:
返回一个 String 对象的值
var str = "Runoob";
var res = str.toString();
console.log(res);
运行结果
ES6/7中字符串常用的方法
includes()
返回布尔值,表示是否找到参数字符串
let s='Hello world!';
console.log(s.includes('o'));
运行结果
支持第二参数,表示开始搜索的位置
let s='Hello world!';
console.log(s.startsWith('world',6));
运行结果
startsWith()
返回布尔值,表示参数字符串是否在源字符串的头部
let s='Hello world!';
console.log(s.startsWith('Hello'));
运行结果
支持第二参数,表示开始搜索的位置
let s='Hello world!';
console.log(s.endsWith('Hello',5));
运行结果
endsWith()
返回布尔值,表示参数字符串是否在源字符串的尾部
let s='Hello world!';
console.log(s.endsWith('!'));
运行结果
支持第二参数,表示开始搜索的位置
let s='Hello world!';
console.log(s.includes('Hello',6));
运行结果
repeat()
返回一个新字符串,表示将原字符串重复n次
console.log('a'.repeat(3));
console.log('a'.repeat(0));
console.log('a'.repeat(2.6));
运行结果
注意:
- 如果参数是小数,会取整
- 如果参数是0,会得到空串
- 如果参数是负数或者Infinity,会报错
- 如果参数是字符串、布尔型或其他类型,会先换算成整数
padStart()、padEnd()
字符串补全长度的功能,如果某个字符串不够指定长度,会在头部或尾部补全
padStart()用于头部补全
padEnd()用于尾部补全
注意: padStart和padEnd一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串
console.log('a'.padStart(5, 'cd'));
console.log('a'.padStart(4, 'cd'));console.log('a'.padEnd(5, 'cd'));
console.log('a'.padEnd(4, 'cd'));
运行结果
如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
console.log('aaa'.padStart(2, 'cd'));
console.log('aaa'.padEnd(2, 'cd'));
运行结果
用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串
console.log('abc'.padStart(10, '0123456789'));
运行结果
如果省略第二个参数,默认使用空格补全长度
console.log('a'.padStart(4));
console.log('a'.padEnd(4));
运行结果
模板字符串
模板字符串是增强版的字符串,用反引号(`)标识
let temps="abc"
console.log(`ABC is ${temps}`)
运行结果
最后
如果本文对你有帮助得话,给本文点个赞❤️❤️❤️
欢迎大家加入,一起学习前端,共同进步!
js系列之详解字符串相关推荐
- Python爬虫入门系列——Urllib详解
Python爬虫入门系列--Urllib详解 1.背景 1.1 初识爬虫 1.2 合法性 1.3 robots协议 2.要求 2.1 当前开发环境 2.2 编程基础 3.快速上手Urllib 3.1 ...
- js_long.php,protobuf.js 与 Long.js的使用详解
这次给大家带来protobuf.js 与 Long.js的使用详解,是急用protobuf.js 与 Long.js的注意事项有哪些,下面就是实战案例,一起来看一下. protobuf.js的结构和w ...
- php output详解,PHP输出缓冲控制Output Control系列函数详解,output函数详解
PHP输出缓冲控制Output Control系列函数详解,output函数详解 概述 以前研究过PHP的输入输出缓冲,不过博客搬家以后,原来文章找不到了,今天看到一篇好文,顺便转载过来. 简介 说到 ...
- js排序算法详解-归并排序
js系列教程5-数据结构和算法全解 js排序算法详解-归并排序 归并排序其实可以类比二分法,二分法其实就是二等分的意思,简而言之就是不断和新序列的中间值进行比较.归并排序似乎有异曲同工之妙,什么意思呢 ...
- js排序算法详解-基数排序
全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-基数排序 其实基数排序和桶排序挺类似的,都是找一个容器把属于同一类的元素装起来,然后进行排序.可以把基数排序类 ...
- js排序算法详解-桶排序
全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-桶排序 一看到这个名字就会觉得奇特,几个意思,我排序还要再准备几个桶不成?还真别说,想用桶排序还得真准备几个桶 ...
- js排序算法详解-计数排序
全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-计数排序 计数排序就是遍历数组记录数组下的元素出现过多次,然后把这个元素找个位置先安置下来,简单点说就是以原数 ...
- js排序算法详解-堆排序
全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-堆排序 这种排序方式呢,理论性太强,看动图的时候满脸写着懵逼,多看几遍似乎明白了编者的意图,但是要把这种理论的 ...
- js排序算法详解-快速排序
全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-快速排序 既然是快速排序,那顾名思义一定很快,快的连小编都被懵逼了好几圈!建议先不要看动图,先看第一种写法: ...
最新文章
- 2022-2028年中国房车旅游行业深度调研及投资前景预测报告
- iOS下JS与OC互相调用(四)--JavaScriptCore
- Linux Kernel中local_irq_enable()和local_irq_disable()的实现
- IO Streams:缓冲流
- KMyMoney:全体理财好管家
- 【B站免费教程】2W 收藏!火爆 B 站的计算机科学速成教程发布,全中文版
- 数字图像空间域 频域
- 【金融支付】名词:支付账户、备付金、网络支付、银行卡清算、贷记卡、代扣、代付
- 【SpringMVC】——图解执行流程
- infer的用法_infer使用的浅谈简析
- [Adaptive Autosar]深入理解--学习资料汇总
- ELK企业内部日志分析系统(elasticsearch/logstash/beats/kibana)centos7详解
- 读左飞老师的《大学背景到底对你影响有多大》后感
- 阿里巴巴食堂:看菜名我跪了~程序员:给我来个“油炸产品经理”
- java使用代理ip爬取网站内容
- 完美二叉树、完全二叉树、完满二叉树
- 互联网应用的特点及其架构演变
- C# button按键无反应
- GNURadio中的PMTs(Polymorphic Types)数据类型
- html中的em等于多少像素,CSS中的em运用详解,1em等于多少像素?
热门文章
- 常见充值方式介绍及对比 (转)
- Windows10+Ubuntu双系统安装[
- 快速蒙版应用——撕纸效果
- Python数据可视化 Pyecharts 制作 Page 顺序多图
- Linux Examination
- oracle 12c 安装scott,Oracle 12c中添加scott用户的方法
- Mybatis万字教程 (一次订阅能看所有专栏)
- 4.4 ipu_param_mem.h头文件分析
- 图像转文本、PDF 转文字(包括html、xml)、关键句提取 软件开发手记
- aiku基于mini2440下裸机程序开发《概述与SDRAM运行》