Javascript:查找两个字符串之间的每个字符串实例

问题描述 投票:0回答:1

我有一个字符串,其中包含用@-和-@包围的单词,如下所示:此@ -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);
javascript string search replace
1个回答
0
投票

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);
}
© www.soinside.com 2019 - 2024. All rights reserved.