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