Home > Mobile >  JS Replace text in between unique expression in parentheses (i)
JS Replace text in between unique expression in parentheses (i)

Time:07-14

My intention is to build a parsing function which searches within a string (think blog post) for any substrings wrapped around unique identifiers in parentheses, like (i).

My current implementation isnt working. Would truly appreciate any help!

let text = "Hello there (i)Sir(i)";
let italics = /\(i\)(.?*)\(i\)/gi;
let italicsText = text.match(italics);
// text.replace(italics, <i>)

CodePudding user response:

You can use replace here with regex as:

\((.*?)\)/g

Second argument to replace is a replacer function.

replace(regexp, replacerFunction)

A function to be invoked to create the new substring to be used to replace the matches to the given regexp or substr.

How arguments are passed to replacer function

let text = 'Hello there (i)Sir(i)';
let italics = text.replace(/\((.*?)\)/g, (_, match) => `<${match}>`);
console.log(italics);

let text2 = 'Hello there (test)Sir(test)';
let italics2 = text2.replace(/\((.*?)\)/g, (_, match) => `<${match}>`);
console.log(italics2);

CodePudding user response:

Use the JavaScript "replaceAll" function:

let text = "Hello there (i)Sir(i)";
console.log(text.replaceAll("(i)", "<i>"));

  • Related