Open In App

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

Improve
Improve
Like Article
Like
Save
Share
Report

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:

  • searchVal: It is a required parameter. It specifies the value or regular expression, that is going to be replaced by the new value.
  • newvalue: It is a required parameter. It specifies the value to replace the search value with.

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

Javascript




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). 

Javascript




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 `&\/#, +()$~%.'”:*?<>{}`.

Javascript




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.

Javascript




// 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


Last Updated : 20 Dec, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads