我在javascript字符串变量中有以下文字:
这里有一些文字Page.Title =“infowithåäö”;这里有更多文字
我需要定位以下内容并将其置于javascript变量(包括引号)中:
Page.Title =“infowithåäö”;
所以我可以把它操纵到这个:
Page.Title =“123的其他一些信息”;
并替换并放回字符串中,如下所示:
这里是som text Page.Title =“其他一些信息,如123”;这里还有更多 文本
“Page.Title =”始终与最后一个分号相同,但是引号之间的字符串,如: “与åäö的信息”; 可以变化
那么我怎样才能最好地定位并用另一个字符串更改该字符串呢?
这就是我的尝试:
strFind = /Page.Title = [a-z]+/;
strHTML_value = here is some text Page.Title = "info with åäö"; here is more text
strToBeReplace = strHTML_value.match(strFind)[1]
alert(' strToBeReplace ' + strToBeReplace); // = Page.Title = "info with åäö";
strNewValue = Page.Title = "some other info like 123";
strHTML_value = strHTML_value.replace(strToBeReplace, strNewValue);
答案 0 :(得分:1)
您可能希望在JavaScript上下文中查看一些正则表达式: https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions
首先,您的代码存在一些语法错误,但除此之外,您的正则表达式将无法执行您想要的操作。
var titleRegex = /Page\.Title\s=\s(".+")/;
var stringValue = "here is some text Page.Title = \"info with åäö\"; here is more text";
var replaceValue = "A New Title";
var newTitle = stringValue.replace(/(Page\.Title\s=\s")([^"]+)(")/, '$1' + replaceValue + '$3');
答案 1 :(得分:0)
尝试以下正则表达式/代码:
var str = 'here is some text Page.Title = "info with åäö"; here is more text';
var replaceWith = 'some other info like 123';
str = str.replace(/(.*Page\.Title = ")([^"]+)(".*)/gi, '$1' + replaceWith + '$3');
请注意"[^"]+"
序列找到一个开头的引号,后跟一个或多个非引号字符,后跟一个结束引号。