我有以下字符串:
package="com.test.sample"
如何使用 someExtraStuff.fileExt 部分获得最少的代码?
我应该做indexOf var myString = '<p><i class="someclass"></i><img scr="somesource"/><img class="somefunnyclass" id="{{appName}}someExtraStuff.fileExt"/><span class="someclass"></span></p>';
然后直到下一个 {{appName}}
吗?
答案 0 :(得分:2)
您可以搜索模式Rx.Observable
.fromPromise(function1())
.filter(data => data)
.delayWhen(data => getDelayTime(data.start)) // or .timeout() or .delay
.map(data => {Rx.Observable.fromPromise(function2());})
并获取所有不是引号的字符。然后拿下比赛的第二个元素。
{{appName}}
答案 1 :(得分:2)
您可以使用三种方法执行此操作
// 1选项
对于单match
var regex = /\{\{appName\}\}([^"]+)/;
var myString = '<p class="somefunnyclass" id="{{appName}}someExtraStuff.fileExt"/>';
console.log(myString.match(regex)[1]);
// 2选项
多个matches
var regex = /\{\{appName\}\}([^"]+)/g;
var myString = '<p class="somefunnyclass" id="{{appName}}someExtraStuff.fileExt"/>';
var temp;
var resultArray = [];
while ((temp = regex.exec(myString)) != null) {
resultArray.push(temp[1]);
}
console.log(resultArray);
// 3选项适用于indexOf
var firstIndex= myString.indexOf("{{appName}}");
var lastIndex =firstIndex+ myString.substring(firstIndex).indexOf('"/>')
var finalString = myString.substring(firstIndex,lastIndex).replace("{{appName}}","");
console.log(finalString);