我有一个字符串,其中包含用@-和-@包围的单词,如下所示:此@ -book- @由作者@ -gameauthor- @创建。
我需要一个函数,该函数将在该包装之间找到单词的所有实例并返回它。如果其中仅包含一个单词,则效果很好。但是,如果有两个单词,它将返回第一个@-和最后一个-@之间的所有内容。因此,它不会返回书籍和游戏作者,而是返回:-book- @由作者@ -gameauthor-
创建我编写了此函数和代码,如何改进它:
function findBetween(text, firststring, secondstring) {
//Function to text between two strings.
var firstvariable = firststring;
var secondvariable = secondstring;
var text = text;
var regExString = new RegExp("(?:" + firstvariable + ")((.[\s\S]*))(?:" + secondvariable + ")", "g");
var strResult = regExString.exec(text);
if (strResult != null) {
return strResult[1];
}
}
var str = "This @-book-@ is created by author @-gameauthor-@.";
var test = findBetween(str, "@-", "-@");
alert(test);
var str = "This @-book-@ is created by author @-gameauthor-@.";
var myArray = str.split("@");
var len = myArray.length;
for(let i = len-1;i>-1;i--){
myArray[i] = myArray[i].replace('-', '');
myArray[i] = myArray[i].replace('-', '');
if(i%2 == 0) myArray.splice(i,1);
}