Dee
Dee

Reputation: 1403

JavaScript text manipulation

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

Answers (3)

Gumbo
Gumbo

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 @
  • the g flag in /…/g allows global matches; otherwise only the first match would be replaced

Upvotes: 2

Ikke
Ikke

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

Bloeper
Bloeper

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

Related Questions