【问题标题】:Regular expression to replace middle chars of a string正则表达式替换字符串的中间字符
【发布时间】:2021-10-04 05:53:46
【问题描述】:

我想用 **** 替换字符串的中间 4 个字符

例如:ABCDEFG 应该变成 AB****G

请建议一个正则表达式来实现这一点。

注意:字符串的长度始终相同。

【问题讨论】:

  • 如果用索引替换字符 regex 不是这里的解决方案,regex 可以帮助你找到字符串中的模式 为什么要使用 regex ?
  • 如果您的字符串是s,您可以这样做:s[:2] + "****" + s[6:] 不需要正则表达式
  • @rkechols 我特别在寻找正则表达式。就像我在答案部分发布的那样
  • 问题是为什么你正在寻找正则表达式。不是你要找的那种正则表达式。
  • @JamesZ 我正在寻找一个可以合并到 html 标记中的 js one 衬里(在检索到值时更新值并在表中查看它)。现在我已经实现了:<td>tab.rows[1].cells[0].innerHTML.replace(/\b(\w{2})\w+(\w)\b/g, '$1**$2')</td> 此外,知道如何在正则表达式中执行此操作并没有错(即使有其他方法可以做到)。

标签: javascript regex


【解决方案1】:

找到了我正在寻找的解决方案:

var s="ABCDEFG"
var reg=/\b(\w{2})\w+(\w)\b/g

s.replace(reg, '$1**$2');

输出:AB****G

这将替换字符串中除前 2 个和后 1 个字符之外的所有中间字符。

【讨论】:

    猜你喜欢
    • 2012-04-26
    • 2013-01-21
    • 2018-07-13
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多