Reputation: 1403
Using JavaScript and I want to replace any text between @anytext@ with some text. I want to make it generic so I am thinking to make use of regular expression. How do I do it?
Example:replace('@hello@','Hi')
Upvotes: 2
Views: 929
Reputation: 655189
Try this:
str.replace(/@[^@]+@/g, 'Hi')
This will remove any sequences of @ … @
globally with Hi
.
Edit Some explanation:
/…/
is the regular expression literal syntax in JavaScript@[^@]+@
describes any sequence of a literal @
, followed by one or more (+
quantifier) characters that is not a @
(negated charcater class [^@]
), followed by a literal @
g
flag in /…/g
allows global matches; otherwise only the first match would be replacedUpvotes: 2
Reputation: 101221
This has nothing to do with jQuery, but just plain old javascript.
var regexp = new RegExp("@([^@]+)@");
text.replace(re, "replacement text");
But what do you mean by generic? How generic do you want to make it?
You can find more information about regular expressions on http://regexp.info including how to use in in Javascript
Upvotes: 0
Reputation: 357
You can use the regex function of jquery to accomplish that... So find the @'s with a regular expression and afterwards use the replace function with the text you want.
Upvotes: 0