javascript - 在第 X 个位置间隔处使用正则表达式替换字符串 (javascript)

标签 javascript regex string replace position

我非常感谢社区提供的有关使用 javascript 正则表达式以第 x 个位置间隔替换字符串的帮助。例如,如果字符串长度为 161,替换文本为 <br /> ,正则表达式将用此替换文本替换第 40、80、120 和 160 个位置的字符串。使用正则表达式可以实现这一点吗?

非常感谢。

最佳答案

添加<br />的方法在第 40 个位置是使用以下行:

string = string.replace(/([\S\s]{40})/g , "$1<br />");

如果您想动态设置位置,请使用:

var positions = 40;
var pattern = new RegExp("([\\s\\s]{" + positions + "})", "g");
string = string.replace(pattern , "$1<br />");

代码说明:

  1. replace 的第一个参数函数是一个正则表达式:
    • ( [\S\s] = 所有非空白字符和空白字符 = 每个字符)。
    • {40} = 40 个字符
    • g flag表示:全局匹配,即:匹配所有可能出现的情况
    • RegExp 内的括号表示:创建一个组。此群组稍后可通过 $1 引用(第一组)
  2. replace 的第二个参数函数包含$1<br /> 。即:将完整匹配替换为第一组( $1 ),并添加 <br />到它。

关于javascript - 在第 X 个位置间隔处使用正则表达式替换字符串 (javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930869/

相关文章:

javascript - 我怎样才能只显示帖子的 100 个字符?

java - java中将UTF8mb4字符替换为 '?'

javascript - 当我调整屏幕大小时,jQuery 一直在前面加上另一个按钮

javascript 自动滚动双向

java - 使用 "\\\\"将 '\' 与 Java 中的正则表达式匹配是最易读的方式吗?

java - 尝试将数组转换为文本文件

C# 解析文本 block

ruby - 将字符串数组连接成 1 个或多个字符串,每个字符串都在一定的字符限制内(+ 前置和附加文本)

javascript - 为什么node.js的jQuery包中没有$.ajax方法?

带有正则表达式的 Python lambda