js replace替换字符串同时替换多个方法

在实际开发中,经常会遇到替换字符串的情况,但是大多数情况都是用replace替换一种字符串,本文介绍了如何使用replace替换多种指定的字符串,同时支持可拓展增加字符串关键字。        

let content = `<div id="article_content273475" class="article-content-wrap">
 <p><strong>宅是一种信仰。</strong><br></p>
 <p><br></p>
 <p>Wi-Fi + 床 = 低配宅。</p>
 <p><br></p>
 <p>Wi-Fi + 床 + 零食 + 网综= 进阶版肥宅。</p>
 <p><br></p>
 <p>Wi-Fi + 床 + 零食 + 网综 + 外卖 + 撸猫 = 人间天堂金不换宅。</p>
 <p><br></p>
 <p>移动互联网迅猛发展的当下,“人间天堂金不换”版宅可以说是当下一些“9000岁”<span class="text-remarks" label="备注">(即“90后”和“00后”)</span>年轻人的生活常态了。</p>
         </div>`;
       let article = content.replace(/(\<img|\<p|\<article|\<\/article|\<header|\<\/header)/gi, function ($0, $1) {
       return {
        "<img": '<img style="width:100%;height:auto;display:block;" ',
        "<p": '<p style="text-indent: 24px;" ',
        "<article":"<div",
        "</article": "</div",
        "<header": "<div",
        "</header": "</div"
       }[$1];
      });
      console.log(article)

replace里的g表示全局替换,而每个关键词前面的\则为转义字符,在针对html类的标签替换的时候,是必不可少的。

下面看下js同时替换多个字符串的方法

<script>
  var s="my javascript is very poor,who can help me?"
  var reg=/(\w*)my(.*)is(.*)can(.*)/g
  alert(s.replace(reg,"$1his$2was$3could$4"));
</script>

总结

以上所述是小编给大家介绍的js replace替换字符串同时替换多个方法 ,希望对大家有所帮助,如果大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

(0)

相关推荐

  • C++实现十六进制字符串转换为十进制整数的方法

    本文实例讲述了C++实现十六进制字符串转换为十进制整数的方法.分享给大家供大家参考.具体实现方法如下: /* * 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include <stdio.h> #include <math.h> /* 将十六进制中的字符装换为对应的整数 */ int hexchtoi(char hexch ) { char phexch[] = "ABCDEF"; char qhexch[] = &qu

  • C语言字符串另类用法的实现

    讲这个例子前,咱们先来看一个简单的程序: 字符串数组实现数字转字母: #include <stdio.h> #include <string.h> int main(void) { int num = 15 ; //26个字母 const char str[] = "abcdefghijklmnopqlstuvwxyz" ; //这个做法是将num这个十进制数通过取模转换为字母并输出,从程序看,即可知道是输出p char a = str[num%26] ; pr

  • Json字符串与Object、List、Map的互转工具类

    package com.cq2022.zago.base.util; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import java.util.List; import java.util.Map; import org.codehaus.jackson.JsonFactory; import org.codehau

  • C语言根据协议分割获取字符串单元的实现代码

    协议做如下规定: 规定数据协议: 序列号    长度   状态字   数据长度  数据1  数据2   数据3 以空格作为数据单元. ep:   00001 00007 1 3 34567 26358 32698 (1) (2) (3)(4) (5) (6) (7) 如ep所示: (1)00001就是数字1,即代表序列号为1 (2)00007就是数字7,即代表长度为7 (3)1代表状态字 (4)3代表数字长度 (5)34567代表数据1 (6)26358代表数据2 (7)32698代表数据3 这

  • Python 十六进制整数与ASCii编码字符串相互转换方法

    在使用Pyserial与STM32进行通讯时,遇到了需要将十六进制整数以Ascii码编码的字符串进行发送并且将接收到的Ascii码编码的字符串转换成十六进制整型的问题.查阅网上的资料后,均没有符合要求的,遂结合各家之长,用了以下方法. 环境 Python2.7 + Binascii模块 十六进制整数转ASCii编码字符串 # -*- coding: utf-8 -*- import binascii #16进制整数转ASCii编码字符串 a = 0x665554 b = hex(a) #转换成相

  • javascript实现的字符串与十六进制表示字符串相互转换方法

    本文实例讲述了javascript实现的字符串与十六进制表示字符串相互转换方法.分享给大家供大家参考.具体如下: 之所以写这个,是因为发现SQL注入和XSS中经常利用十六进制表示的字符串,比如 SELECT CONCAT(0x68656c6c6f); 得到的是hello <!DOCTYPE html> <html> <head> <title>Hex-Char Bi-Converter</title> </head> <body

  • C++实现十六进制字符串转换成int整形值的示例

    十六进制(简写为hex或下标16)在数学中是一种逢16进1的进位制.一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字. 开发中经常需要把16进制字符串转换成整形,写了个个代码供大家参考下: #include <stdio.h> #include <string.h> //字符转换成整形 int hex2int(char c) { if ((c >= 'A') && (c <= 'Z')) { return c

  • 详解C++中十六进制字符串转数字(数值)

    详解C++中十六进制字符串转数字(数值) 主要有两个方法,其实都是对现有函数的使用: 方法1: sscanf()   函数名: sscanf 功  能: 从字符串格式化输入 用  法: int sscanf(char *string, char *format[,argument,...]); 以上的 format 为 %x 就是将字符串格式化为 16 进制数 例子:  #include <stdio.h> void main() { char* p = "0x1a"; i

  • C++实现数字转换为十六进制字符串的方法

    本文实例讲述了C++实现数字转换为十六进制字符串的方法.分享给大家供大家参考.具体如下: function toHex(number, min) { var hexes = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']; var hex = ''; var min = min || 2; var nibble; do { nibble = number & 0x0f; number

  • C++中输出十六进制形式的字符串

    前言 在进行 i18n 相关的开发时,经常遇到字符编码转换的错误.这时如果能把相关字符串用十六进制的形式打印出来,例如,"abc" 输出成 "\\x61\\x62\\x63" 这对于 i18n 的除错来说是很有帮助的.Python 里面,只需要使用 repr() 函数就行了.可在 C++ 中如何做到这点呢? 下面是用 ostream 的格式化功能的一个简单的实现: std::string get_raw_string(std::string const& s

随机推荐