我想使用javascript在HTML文件中删除或替换此字符串。
'<script src="../assets/js/somejs.js?1.0.953"></script>'
麻烦的是,版本号&#34; 1.0.953&#34;不断变化所以我不能使用简单的string.replace
答案 0 :(得分:0)
您可以使用以下Regex实现此目的:
\?.*?\"
或者,更具体地说
(\d+)\.(\d+)\.(\d+)
用于匹配版本号。
利用正则表达式,您可以使用空值替换版本号。
答案 1 :(得分:0)
好的,这很麻烦但是有效......
String.prototype.replaceAnyVersionOfScript = function(target, replacement) {
// 1. Build the string we need to replace (target + xxx + ></script>)
var targetLength = target.length;
var targetStartPos = this.indexOf(target);
var dynamicStartPos = targetStartPos + targetLength;
var dynamicEndPos = this.indexOf('></script>', dynamicStartPos) + 10;
var dynamicString = this.substring(dynamicStartPos, dynamicEndPos);
var dymamicStringToReplace = target + dynamicString;
// 2. Now we know what we are looking for. We can replace it.
return this.replace(dymamicStringToReplace, replacement);
};
shellHTML = shellHTML.replaceAnyVersionOfScript('<script src="./assets/js/CloudZoom.js', '');