19

How can I remove the semicolon (;) from a string by using JavaScript?

For example:

var str = '<div id="confirmMsg" style="margin-top: -5px;">'

How can I remove the semicolon from str?

1
  • I rolled this back to contain the actual, original example; check the source in the history to see that this was the original example, Gumbo had just fixed the formatting. Commented Jan 11, 2010 at 0:39

5 Answers 5

25

You can use the replace method of the string object. Here is what W3Schools says about it: JavaScript replace().

In your case you could do something like the following:

str = str.replace(";", "");

You can also use a regular expression:

str = str.replace(/;/g, "");

This will replace all semicolons globally. If you wish to replace just the first instance you would remove the g from the first parameter.

Sign up to request clarification or add additional context in comments.

Comments

9

Try this:

str = str.replace(/;/g, "");

This will remove all semicolons in str and assign the result back to str.

Comments

6

Depending upon exactly why you need to do this, you need to be cautious of edge cases:

For instance, what if your string is this (contains two semicolons):

'<div id="confirmMsg" style="margin-top: -5px; margin-bottom: 5px;">'

Any solution like

 str.replace(";", "");

will give you:

'<div id="confirmMsg" style="margin-top: -5px margin-bottom: 5px">'

which is invalid.

In this situation you're better off doing this:

 str.replace(";\"", "\"");

which will only replace ;" at the end of the style string.

In addition I wouldn't worry about removing it anyway. It shouldn't matter - unless you have already determined that for your situation it does matter for some obscure reason. It's more likely to lead to hard-to-debug problems later if you try to get too clever in a situation like this.

3 Comments

+1 for mentioning that there is no obvious reson to remove the semicolon (and for the edge cases).
just need to mention that the case given in question was not given by the asker but by Gumbo in an edit. Check out the edit history.
No, it wasn't added by Gumbo in his edit. The example was there, but as it was raw, unquoted HTML, it was stripped out when Stack Overflow rendered it; view the source on the original post to confirm. Gumbo just fixed the formatting so the example would display.
2
str = str.replace(";", "");

Comments

0

Try:

str = str.replace(/;/ig,'');

1 Comment

While this code snippet may solve the question, including an explanation really helps to improve the quality of your post. Remember that you are answering the question for readers in the future, and those people might not know the reasons for your code suggestion. Please also try not to crowd your code with explanatory comments, as this reduces the readability of both the code and the explanations!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.