Firstly, we need a base string to start manipulating, so let’s create our test subject:
var ourString = "This is a great string and we love it";
So now the options are as follows,
regular expression replace and
ourString.replace(" ", "-") "This-is a great string and we love it"
As we can see with this method, it only replaces single occurrences in the string, which may be what you are trying to achieve, but it certainly wasn’t for this case!
Let’s try with a word now, it appears to work well, but that’s because we only had one occurrence yet again, so didn’t notice the problem!
ourString.replace("great", "amazing") "This is a amazing string and we love it"
ourString.replace(/ /g, "-") "This-is-a-great-string-and-we-love-it"
This works pretty well, because of the addition of the
g flag, which means
global, or “apply the condition in every matched occurrence.
This is the most recommended method and what I like to use personally.
Let’s try it with our previous “great” and “amazing” swap out:
ourString.replace(/great/g, "amazing") "This is a amazing string and we love it"
As can be seen, we get the same output as our single occurrence example above. So this means we can use it for both single and multiple instance replacements/matching. Yet another reason to use it all the time!
While we’re looking into this, there is another option available to us, which I mentioned at the beginning of this post.
Another option you have available to you is that of the
ourString.split(" ").join("-") "This-is-a-great-string-and-we-love-it"