102

JavaScript:

.replace(/_/g," ");

I have it in my code but can't remember why or what it does! Can one of you regular expression gurus help?

I know this may seem basic, but regular expressions are not my cup of tea and googling for /g didn't help much.

informatik01
  • 15,174
  • 9
  • 67
  • 100
Tom
  • 7,474
  • 7
  • 40
  • 56
  • 1
    just to add.. you can use / /gi to make it case-insensitive! Sometimes you want to change words in a string or a paragraph, but it happens that some of them are in the beginning of a sentence, so they're in most of the cases capitalized, if you use only the g it would replace only let say "Angels" and forgets about "angels" or vice versa, it depends on what you put as arguments. ps: This works with the replace() method in JavaScript. – A.McLoof Apr 02 '20 at 00:24

4 Answers4

161

The regex matches the _ character.

The g means Global, and causes the replace call to replace all matches, not just the first one.

SLaks
  • 800,742
  • 167
  • 1,811
  • 1,896
29

Like everyone else has said, it replaces all underscores with spaces. So "Hello_there." would become "Hello there."

But along with the answer, I want to suggest something to you. Use comments.

In your code say something like:

// Replaces all underscores so that blah blah blah blah blah..
var hello = "Hello_there."
    .replace(/_/g, ' ');
McKayla
  • 6,467
  • 4
  • 29
  • 45
3

Returns a new string with all the underscores in the source string replaced with spaces.

Roy Tinker
  • 9,918
  • 4
  • 39
  • 53
1

we can use the expression / /g to search or extract a pattern more than once, you can use the g flag.