首页 > 编程语言 >【JavaScript】内置对象 - 字符串对象 ⑦ ( String 字符串替换 | replace 函数 | replaceAll 函数 | String 字符串切割 | split 函数 )

【JavaScript】内置对象 - 字符串对象 ⑦ ( String 字符串替换 | replace 函数 | replaceAll 函数 | String 字符串切割 | split 函数 )

时间:2024-06-11 13:30:44浏览次数:27  
标签:String replace str 字符串 替换 函数

文章目录


String 字符串对象参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String





一、String 字符串替换




1、replace 函数替换字符串


replace 函数 的 作用是 字符串替换 ;

replace 函数原型 : 将 匹配的 pattern 模式 的 子字符串 替换为 replacement ;

replace(pattern, replacement)
  • pattern 参数 : 是 字符串 或 正则表达式 , 传入的对象必须有 Symbol.replace 函数 ;
  • replacement 参数 : 被替换的字符串 ;
  • 返回值是 已经替换好 的 新的字符串 , 原字符串不变 ;

如果 pattern 参数是字符串 , 则默认只替换一次 , 将第一个匹配的字符串进行替换 , 后面就不再进行替换 ;


下面的字符串中有 2 哥 l 字符 , 使用 replace 函数进行替换 , 只替换了第一个 l 字符 ;

代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 给定一个字符串
        var str = 'Hello';

        // 字符串替换
        console.log(str.replace('l', 'A'));
    </script>
</head>

<body>
</body>

</html>

执行结果 :

在这里插入图片描述


2、使用 replace 函数替换所有匹配字符串


使用 indexOf 函数 , 可以获取 子字符串 在 当前字符串 的索引位置 , 如果 查询的字符串中没有 对应的 子字符串 , 则返回 -1 ;

在下面的代码中 , 使用 indexOf 获取的索引值作为循环条件 , 如果索引值不为 -1 则执行循环体内容 , 在循环体内进行 replace 函数替换操作 ;

代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 给定一个字符串
        var str = 'Hello';

        // 字符串替换
        //console.log(str.replace('l', 'A'));

        // 替换所有符合要求的字符串
        while (str.indexOf('l') != -1) {
            str = str.replace('l', 'A');
        }
        // 打印最终的字符串替换结果
        console.log(str);

    </script>
</head>

<body>
</body>

</html>

执行结果 :
在这里插入图片描述


3、replaceAll 函数替换字符串


replaceAll 函数 替换 字符串中的 子字符串 , 可以一次性替换所有符合要求的字符串 ;

函数原型如下 :

replaceAll(pattern, replacement)
  • pattern 参数 : 是 字符串 或 正则表达式 , 传入的对象必须有 Symbol.replace 函数 ;
  • replacement 参数 : 被替换的字符串 ;
  • 返回值是 已经替换好 的 新的字符串 , 原字符串不变 ;

参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll


代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 给定一个字符串
        var str = 'Hello';

        // 字符串替换
        console.log(str.replaceAll('l', 'A'));
    </script>
</head>

<body>
</body>

</html>

执行结果 :

在这里插入图片描述





二、String 字符串转数组




1、split 函数切割字符串


split 函数 可以 根据 字符串中的 子字符串 或 正则表达式 作为切割符号 , 将字符串切割成若干个子字符串组成的数组 ;

split 函数原型 :

split(separator)
split(separator, limit)
  • separator 参数 : 作为分割依据的字符串 , 如果省略该参数 , 或传入 undefined 值 , 则返回一个数组 , 数组中只有一个元素 , 就是原字符串 ;
  • limit 参数 : 限制字符串切割的数量 , 可省略 , 原来切割 5 个子字符串 , 设置 limit 为 3 , 则切割完第二个元素后 , 将后面所有的内容都划分到第三个元素中 ;

参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/split


2、代码示例 - 切割字符串


代码示例 :

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <!-- 设置 meta 视口标签 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>JavaScript</title>
    <style></style>
    <script>
        // 给定一个字符串
        var str = 'Blue,Red,Purple';

        // 字符串切割
        console.log(str.split(','));
    </script>
</head>

<body>
</body>

</html>

执行结果 :
在这里插入图片描述

标签:String,replace,str,字符串,替换,函数
From: https://blog.csdn.net/han1202012/article/details/139565079

相关文章

  • 华为OD刷题C卷 - 每日刷题 23(提取字符串中的最长表达式,模拟目录管理功能 - 完整实现)
    1、提取字符串中的最长表达式目标是从一个给定的字符串中提取出最长的合法简单数学表达式,并计算该表达式的值。如果存在多个同样长度的合法表达式,则选择第一个出现的表达式进行计算。简单数学表达式的规则:只包含0-9的数字和+、-、*三种运算符。所有数字的计算结果不超过......
  • Linux-应用编程学习笔记(字符串处理)
    一、字符串输入/输出1、字符串输出//C库函数,向标准输出设备(屏幕、显示器)输出字符串并自行换行#include<stdio.h>intputs(constchar*s);s:需要进行输出的字符串。返回值:成功返回一个非负数;失败将返回EOF,EOF其实就是-1。//C库函数,既可以是标准输出、标准错误设备......
  • 流畅的python--第十章 使用一等函数实现设计 模式
    经典的策略模式示例10-1实现Order类,支持插入式折扣策略fromabcimportABC,abstractmethodfromcollections.abcimportSequencefromdecimalimportDecimalfromtypingimportNamedTuple,OptionalclassCustomer(NamedTuple):name:strfidelity:intcl......
  • [快速阅读七] Halcon里emphasize函数相关资料.
    时不时有人问我我的SSE优化Demo里emphasize(边缘强调)的原理是啥,有没有写博客,其实不是我不愿意写博客,而是那个东西太过于简单,我不想写博客。但是耐不住问的人多了,我就干脆复制点资料放在博客里吧,省的每次我还要去找点资料复制给人家。这个东西其实是Halcon里的一个算子,我......
  • 封装线程池相关函数
    thread_pool.c线程要执行的任务/*******************************************************************************************@name:routine* @function:线程要执行的任务*@paramsv:None*@retval:None*@author:Dazz*@d......
  • 【JS封装-兼容IE(较旧版本如IE8及以下)】强化编程实践:精选JavaScript函数封装集锦-添加E
    目录添加Event监听获取非行间样式JSON.parse与JSON.stringifyquerySelector与querySelectorAll的兼容支持跨浏览器的classList操作兼容性处理console.log兼容性处理forEach方法Promise的兼容性处理FetchAPI的兼容性处理添加Event监听IE8及以下版本不支持addEvent......
  • 服务器IO多路复用的select和poll的区别以及监听套接字select函数的四个宏操作
    目录知识补给站对文件描述符集合操作的四个宏操作服务器IO多路复用中的select和poll的区别知识补给站对文件描述符集合操作的四个宏操作对文件描述符集合操作的四个宏操作在select函数中起着关键的作用,它们用于初始化、添加、删除和检查文件描述符集合中的元素。这四个宏为:FD_......
  • 第四章: 全面梳理Java 标识符变量的声明,基本数据类型,String类型以及相互之间的类型
    1.关键字和保留字关键字(keyword)是指被Java语言赋予了特殊含义,用做专门用途的字符串(单词)其特点就是关键字中所有字母都为小写官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html保留字(reservedword)是当前Java版本尚未使用,但以......
  • c++ stringstream
    转载:https://blog.csdn.net/jllongbell/article/details/79092891v前言:  以前没有接触过stringstream这个类的时候,常用的字符串和数字转换函数就是sscanf和sprintf函数。开始的时候就觉得这两个函数应经很叼了,但是毕竟是属于c的。c++中引入了流的概念,通过流来实现字......
  • 高级函数
    reduce#倒序lists=[2,5,2,4,7]print(sorted(lists,reverse=True))filter#过滤序列,过滤掉不符合条件的元系defget_data(x):returnx%2==0#查询1-100的偶数print(list(filter(get_data,range(1,101))))reduce对序列中的元素进行案计计算fromfunctoolsimportreduce......