0
votes

How to use regex to replace all the occurrences of space ( . ) '- with underscores.

I used chaining of replaceAll. Is there a better approach?

const str = "Certificate of Naturalization (From N-550 or N-570) or Certificate of U.S Citizenship (From N-560 or N-561)";
console.log(((str).toUpperCase()).replaceAll(' ', '_').replaceAll('\'', '_').replaceAll('(', '').replaceAll(')', '').replaceAll('-', '_').replaceAll('.', '_'));
1
Yes. And the documentation will tell you which. - Andreas
And please proof-read your question before you post it... Right now the script will throw a syntax error. - Andreas

1 Answers

1
votes

You can put the characters you want to replace inside [] and you need to escape some special characters with \

there are 12 characters with special meanings: the backslash , the caret ^, the dollar sign $, the period or dot ., the vertical bar or pipe symbol |, the question mark ?, the asterisk or star *, the plus sign +, the opening parenthesis (, the closing parenthesis ), the opening square bracket [, and the opening curly brace {, These special characters are often called “metacharacters”. Most of them are errors when used alone.

If you want to use any of these characters as a literal in a regex, you need to escape them with a backslash.

const str = `Certificate of Naturalization (From N-550 or N-570) or Certificate of U.S Citizenship (From N-560 or N-561)`;

const result = str.replace(/[-'\s\(\)\.]/g, '_')

console.log(result)