开发者

Javascript regex - how to get text between curly brackets

I need to get the text (if any) between curly brackets. I did find this other post but technically it wasn't answered correctly: Regular expression to extract text between either square or curly brackets

It didn't actually say how to actually extract the text. So I have got this far:

var cleanStr = "Some random {stuff} here";
var checkSep = "\{.*?\}"; 
if (cleanStr.search(checkSep)==-1) { //if match failed
  alert("nothing found between brackets");
} else {
  alert("something found between brackets");
}

How do I then extract 'stuff' from the string? And also if I take this further, how do I e开发者_如何学编程xtract 'stuff' and 'sentence' from this string:

var cleanStr2 = "Some random {stuff} in this {sentence}";

Cheers!


To extract all occurrences between curly braces, you can make something like this:

function getWordsBetweenCurlies(str) {
  var results = [], re = /{([^}]+)}/g, text;

  while(text = re.exec(str)) {
    results.push(text[1]);
  }
  return results;
}

getWordsBetweenCurlies("Some random {stuff} in this {sentence}");
// returns ["stuff", "sentence"]


Create a "capturing group" to indicate the text you want. Use the String.replace() function to replace the entire string with just the back reference to the capture group. You're left with the text you want.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜