【问题标题】:How to get the replace string in JavaScript如何在 JavaScript 中获取替换字符串
【发布时间】:2020-09-30 04:00:46
【问题描述】:
const string = 'Hey My name is +++Vijay+++.';

console.log(string.replace(/\++(.*)\++/, 'A'));

正如您在上面的示例中看到的,我将Vijay 替换为A,我怎样才能用Vijay 代替A? 就像被替换的词应该出现在A.

【问题讨论】:

  • 你需要把替换后的词存起来,然后用A替换。

标签: javascript reactjs regex


【解决方案1】:

使用 '$&' ,表示匹配的字符串。

例如

console.log(string.replace(/\++(.*)\++/, '$&'));

会得到完全相同的结果(因为您将 Vijay 替换为 Vijay)。

见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter

【讨论】:

  • Vijay 词可以变化。它可以是任何名称,但我想要那个特定的词,因为我需要为那个词添加一个编辑器。
【解决方案2】:

您可以先提取它们,然后通过不使用正则表达式的循环进行正常的字符串替换,而不是替换它。

const string = 'Hey My name is +++Vijay+++.';
const regex = /\++(.*?)\++/g
const array = [...string.matchAll(regex)];
console.log(array);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 2011-10-23
    • 1970-01-01
    • 2015-03-22
    相关资源
    最近更新 更多