现在我有一个字符串 var str = "我真的感到很 [高兴] 啊!";我想通过这两个中括号作为标识,获取中间的字符串,然后根据获得的字符串,替换成想应的反义词,比如我想把高兴,换成悲伤,但只能通过两个中括号作为标识。还有,如果我的 str里面有多个[],都需要替换,又该怎么做呢?我是想,先要分割,在找到相应反义词后,再替换,但是真不知道怎么写啊。。。。。
记住,我这里是要根据 中括号,获取到里面的字符串,再根据它才能知道我想替换的东西,不是仅仅的 str.replace(/[^\[]+(?=\])/g, "悲伤") 哦!!!
目测这个问题需要大神级的人物才知道啊。。。
求,,,求一个答案。。。大过节的,我给跪了啊。。
------解决方案--------------------------------------------------------
- JScript code
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> </head> <body> <script type="text/javascript"> $(function() { var dic = { '高兴': '忧伤', '悲伤': '喜悦', '凌乱': '冷静' }, test = '我真的感到很 [高兴] 啊!还很[悲伤] 啊! 我[凌乱]了 !' ; $.each(test.match(/[^\[]+(?=\])/g), function(i, word) { test = test.replace(word, dic[word]); }); $('body').append(test); }) </script> </body> </html>