前言

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系列之详解字符串相关推荐

  1. Python爬虫入门系列——Urllib详解

    Python爬虫入门系列--Urllib详解 1.背景 1.1 初识爬虫 1.2 合法性 1.3 robots协议 2.要求 2.1 当前开发环境 2.2 编程基础 3.快速上手Urllib 3.1 ...

  2. js_long.php,protobuf.js 与 Long.js的使用详解

    这次给大家带来protobuf.js 与 Long.js的使用详解,是急用protobuf.js 与 Long.js的注意事项有哪些,下面就是实战案例,一起来看一下. protobuf.js的结构和w ...

  3. php output详解,PHP输出缓冲控制Output Control系列函数详解,output函数详解

    PHP输出缓冲控制Output Control系列函数详解,output函数详解 概述 以前研究过PHP的输入输出缓冲,不过博客搬家以后,原来文章找不到了,今天看到一篇好文,顺便转载过来. 简介 说到 ...

  4. js排序算法详解-归并排序

    js系列教程5-数据结构和算法全解 js排序算法详解-归并排序 归并排序其实可以类比二分法,二分法其实就是二等分的意思,简而言之就是不断和新序列的中间值进行比较.归并排序似乎有异曲同工之妙,什么意思呢 ...

  5. js排序算法详解-基数排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-基数排序 其实基数排序和桶排序挺类似的,都是找一个容器把属于同一类的元素装起来,然后进行排序.可以把基数排序类 ...

  6. js排序算法详解-桶排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-桶排序 一看到这个名字就会觉得奇特,几个意思,我排序还要再准备几个桶不成?还真别说,想用桶排序还得真准备几个桶 ...

  7. js排序算法详解-计数排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-计数排序 计数排序就是遍历数组记录数组下的元素出现过多次,然后把这个元素找个位置先安置下来,简单点说就是以原数 ...

  8. js排序算法详解-堆排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-堆排序 这种排序方式呢,理论性太强,看动图的时候满脸写着懵逼,多看几遍似乎明白了编者的意图,但是要把这种理论的 ...

  9. js排序算法详解-快速排序

    全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-快速排序 既然是快速排序,那顾名思义一定很快,快的连小编都被懵逼了好几圈!建议先不要看动图,先看第一种写法: ...

最新文章

  1. 2022-2028年中国房车旅游行业深度调研及投资前景预测报告
  2. iOS下JS与OC互相调用(四)--JavaScriptCore
  3. Linux Kernel中local_irq_enable()和local_irq_disable()的实现
  4. IO Streams:缓冲流
  5. KMyMoney:全体理财好管家
  6. 【B站免费教程】2W 收藏!火爆 B 站的计算机科学速成教程发布,全中文版
  7. 数字图像空间域 频域
  8. 【金融支付】名词:支付账户、备付金、网络支付、银行卡清算、贷记卡、代扣、代付
  9. 【SpringMVC】——图解执行流程
  10. infer的用法_infer使用的浅谈简析
  11. [Adaptive Autosar]深入理解--学习资料汇总
  12. ELK企业内部日志分析系统(elasticsearch/logstash/beats/kibana)centos7详解
  13. 读左飞老师的《大学背景到底对你影响有多大》后感
  14. 阿里巴巴食堂:看菜名我跪了~程序员:给我来个“油炸产品经理”
  15. java使用代理ip爬取网站内容
  16. 完美二叉树、完全二叉树、完满二叉树
  17. 互联网应用的特点及其架构演变
  18. C# button按键无反应
  19. GNURadio中的PMTs(Polymorphic Types)数据类型
  20. html中的em等于多少像素,CSS中的em运用详解,1em等于多少像素?

热门文章

  1. 常见充值方式介绍及对比 (转)
  2. Windows10+Ubuntu双系统安装[
  3. 快速蒙版应用——撕纸效果
  4. Python数据可视化 Pyecharts 制作 Page 顺序多图
  5. Linux Examination
  6. oracle 12c 安装scott,Oracle 12c中添加scott用户的方法
  7. Mybatis万字教程 (一次订阅能看所有专栏)
  8. 4.4 ipu_param_mem.h头文件分析
  9. 图像转文本、PDF 转文字(包括html、xml)、关键句提取 软件开发手记
  10. aiku基于mini2440下裸机程序开发《概述与SDRAM运行》