0

How to remove all the occurrences of apostrophe('), hyphen(-) and dot(.) in a given string using Regular Expression?

For example: John,. Home'Owner-New should return John, HomeOwnerNew

I have tried using name.replace("\'", "").replace("-", "").replace(".", "") and it works. But I feel there should be a better approach using regular expression. I have tried few but with no luck. Can someone please guide me in the right direction?

  • 1
    `"".replace` accepts a regular expression. you're looking for `name.replace(/[-'.]/g, '')`. note that `-` has a special meaning inside character classes, so it must be either the first or last character. the `g` flag replaces all matches. – don_aman Jul 11 '22 at 20:39

1 Answers1

2

the regex you are looking for is likely /[\.'-]/g

I have attached a snippet including a test based on the sample you provided.

const originalString = "John,. Home'Owner-New"
const expectedString = "John, HomeOwnerNew"
const myRegex = /[\.'-]/g
const newString = originalString.replace(myRegex, "");

const regexWorks = newString === expectedString;
if(!regexWorks) throw Error('test failed');

console.log({originalString});
console.log({newString});
Michael Sorensen
  • 1,850
  • 12
  • 20