Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How to retrieve a substring and replace it with a random value it contains?

Let’s say I have a string like this:

This is just a test {#3,2,7,9} this is another test {#21,2,11}

How can I retrieve all instances of {#x,y,..} and replace it with a random number it contains?

For example, the string above could become:

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

This is just a test 2 this is another test 11

>Solution :

Try using replace() method

Regex Demo

https://regex101.com/r/s3O59z/1

let string = 'This is just a test {#3,2,7,9} this is another test {#21,2,11}'

let result = string.replace(/{#(.*?)}/g, (match, p1) => {
  let nums = p1.split(',')
  return nums[Math.floor(Math.random() * nums.length)]
})

console.log(result)
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading