Open In App

Replace special characters in a string with underscore (_) in JavaScript

In this article, we will see how to replace special characters in a string with an underscore in JavaScript.

These are the following method to do this:



JavaScript replace() Method

This method searches a string for a defined value, or a regular expression, and returns a new string with the replaced defined value. 



Syntax:

string.replace(searchVal, newvalue);

Parameters:

Return value:

It returns a new string that matches the pattern specified in the parameters.

Example 1: This example replaces all special characters with _ (underscore) using the replace() method




let str = "This, is# GeeksForGeeks!";
 
console.log(str.replace(/[&\/\\#, +()$~%.'":*?<>{}]/g, '_'));

Output
This__is__GeeksForGeeks!

Example 2: This example replaces a unique special character with _ (underscore). This example goes to each character and checks if it is a special character that we are looking for, then it will replace the character. In this example, the unique character is $(dollar sign). 




let str = "A$computer$science$portal$for$Geeks";
 
function gfg_Run() {
 
    let newStr = "";
 
    for (let i = 0; i < str.length; i++) {
        if (str[i] == '$') {
            newStr += '_';
        }
        else {
            newStr += str[i];
        }
    }
    console.log(newStr);
}       
 
gfg_Run();

Output
A_computer_science_portal_for_Geeks

Example 3: In this example, we replace a unique special character with _ (underscore). This example spread function is used to form an array from a string and form a string with the help of reduce which excludes all special character and add underscore in their places. In this example the unique character are `&\/#, +()$~%.'”:*?<>{}`.




let check = chr => `&\/#, +()$~%.'":*?<>{}`.includes(chr);
 
let str = "This, is# GeeksForGeeks!";
 
let underscore_str = [...str]
    .reduce((s, c) => check(c) ? s + '_' : s + c, '');
 
console.log(underscore_str);

Output
This__is__GeeksForGeeks!

Using Lodash _.replace() Method

In this approach, we are using Lodash _.replace() method for replacing the special character into “_”.

Example: This example is the implementation of the above-explained approach.




// Requiring the lodash library
const _ = require("lodash");
 
// Original array
let string = _.replace('Stay# In',
/[&\/\\#, +()$~%.'":*?<>{}]/g, '_');
 
// Using the _.replace() method
let replace_elem = _.replace(string);
 
// Printing the output
console.log(replace_elem);

Output:

Stay__In

Article Tags :