Replace all instances of character in string in typescript?

113,504

Solution 1

Your second example is the closest. The first problem is your variable name, new, which happens to be one of JavaScript's reserved keywords (and is instead used to construct objects, like new RegExp or new Set). This means that your program will throw a Syntax Error.

Also, since the dot (.) is a special character inside regex grammar, you should escape it as \.. Otherwise you would end up with result == "xxxxxxxxxxxxxxxxxx", which is undesirable.

let email = "[email protected]"

let re = /\./gi;
let result = email.replace(re, "x");

console.log(result)

Solution 2

You can try split() and join() method that was work for me. (For normal string text) It was short and simple to implement and understand. Below is an example.

let email = "[email protected]";
email.split('.').join('x');

So, it will replace all your . with x. So, after the above example, email variable become myxemail@gmailxcom

Share:
113,504
Rebecca
Author by

Rebecca

Updated on July 09, 2022

Comments

  • Rebecca
    Rebecca almost 2 years

    I'm trying to replace all full stops in an email with an x character - for example "[email protected]" would become "myxemail@emailxcom". Email is set to a string.
    My problem is it's not replacing just full stops, it's replacing every character, so I just get a string of x's.
    I can get it working with just one full stop, so I'm assuming I'm wrong on the global instance part. Here's my code:

    let re = ".";
    let new = email.replace(/re/gi, "x");
    

    I've also tried

    re = /./gi;
    new = email.replace(re, "x");
    

    If anyone can shed any light I'd really appreciate it, I've been stuck on this for so long and can't seem to figure out where I'm going wrong.

    ** Edit: Whoops, my new variable was actually called newemail, keyword new wasn't causing the issue!

  • Rebecca
    Rebecca about 7 years
    I was going wrong with the /./gi, /\./ solved the issue! Thanks a million!
  • George
    George over 6 years
    how to replace a character in a string based on index?
  • gyre
    gyre over 6 years
    @George What do you mean? Can you give me a desired example/output?
  • George
    George over 6 years
    let theString = "george" , i want to replace the third character for example theString[2]="a" so now it would be 'gearge'
  • gyre
    gyre over 6 years
    in that case I would suggest: let string = 'george'; let result = string.slice(0, 2) + 'a' + string.slice(3);
  • George
    George over 6 years
    thank you sounds good currently i am transforming it to array then do the change then transforming it to string i'll try your way asap
  • Björn
    Björn almost 3 years
    Do not forget that g to make the expression global. I always do.
  • Ka Wai Cheung
    Ka Wai Cheung over 2 years
    I think this should be the default approach for a basic search/replace over using any regex.
  • Sanjay Verma
    Sanjay Verma about 2 years
    This is brilliant!!