如何使用javascript更改字符串的一部分中的文本?

如何使用javascript更改字符串的一部分中的文本?,javascript,Javascript,我有一个javascript字符串,其中包含以下内容: data-href="/Admin/Edit?pk=0001I&rk=50050055" 如何更改此字符串,使rk的值更改为字符串newRowKey中保留的值?不确定是否有帮助,但数据格式始终是这样的,rk后跟一个=,然后以“结束” 如果您正在构建URL,请更改它 datahref="/Admin/Edit?pk=0001I&rk="+ newRowKey; 或者,如果知道现有值,则替换它 datahre

我有一个javascript字符串,其中包含以下内容:

data-href="/Admin/Edit?pk=0001I&rk=50050055"
如何更改此字符串,使rk的值更改为字符串newRowKey中保留的值?不确定是否有帮助,但数据格式始终是这样的,rk后跟一个=,然后以“结束”

如果您正在构建URL,请更改它

datahref="/Admin/Edit?pk=0001I&rk="+ newRowKey;
或者,如果知道现有值,则替换它

datahref.replace("50050055", newRowKey);
如果您不知道rk的值,但知道它在URL中的最后一个值,那么可以使用indexOf来查找它

datahref = datahref.substring(0,datahref.indexOf("rk=")+3) + newRowKey;

也许你需要一个正则表达式来代替rk

newRowKey = 'XXXXXX'
s = 'Edit?pk=0001I&rk=50050055';
s2 = s.replace(/(.*;)(rk=)(.*)(&|)/, '$1$2' + newRowKey)
alert( s + "\n" + s2 );

//2nd test
s = 'Edit?pk=0001I&rk=50050055&';

s2 = s.replace(/(.*;)(rk=)(.*)(&|)/, '$1$2' + newRowKey)
alert( s + "\n" + s2 );

​演示:

你在解析HTML吗?我有点困惑。你能给我们看看代码吗。
data href=“/Admin/Edit?pk=0001I&;rk=50055“
是无效的JavaScript,所以我很确定有些地方不对劲。请显示一些代码,您是否在使用jQuery?如果是,.attr()你能从哪里得到rk号码吗?是从数据库还是html还是随机?如果是html,你可以发布代码似乎很有意义,但是
data href
在JavaScript中不是一个有效的变量名,所以@Anne解释得不对。啊。我打赌这是他的问题,我甚至没有注意到这一点,看起来像是个s对不起,我没有正确解释。rk=后面可能是任何数字字符串。可能是rk=123“
data_href.replace(/rk=.*$/,'rk=' + newRowKey);
newRowKey = 'XXXXXX'
s = 'Edit?pk=0001I&rk=50050055';
s2 = s.replace(/(.*;)(rk=)(.*)(&|)/, '$1$2' + newRowKey)
alert( s + "\n" + s2 );

//2nd test
s = 'Edit?pk=0001I&rk=50050055&';

s2 = s.replace(/(.*;)(rk=)(.*)(&|)/, '$1$2' + newRowKey)
alert( s + "\n" + s2 );