如果是-,如何替换某个子字符串后面的字符?我正在使用正则表达式来匹配和替换子字符串本身,但如果它是连字符,我也希望匹配紧跟在该字符后面的字符。
例如:
$('.classg').on("click", function() {
idq = $(this).attr('name');
var _href = $('.classh').children("a").attr("href");
$('.classh').children("a").attr("href", _href.replace(idq, ''));
// ...
});HTML:
<p class="classg"><a href="posting.php?topic_id=123456789">Answer</a></p>
<li class="classh" name="16992964">Multiquote</li>在替换idq之后,我希望能够确定_href字符串中的下一个字符在字符串idq之后。如果字符是-,那么我想用'' (空字符串)替换它。如果是别的什么,我想让它被忽视。
发布于 2014-09-13 09:19:11
使用? regex运算符,它可选择匹配前面的元素。如果它在那里,它就会被取代。如果没有,则只替换原始ID。
由于模式的其余部分位于变量中,所以可以构造如下所示的RegExp对象:var re = new RegExp(idq + "\\-?");。
这与idq的第一次出现相匹配,可选地后面跟着连字符(-)。
$('.classg').on("click", function() {
var idq = $(this).attr('id'); // ID will be a number example : 998352
var _href = $('.classh').children("a").attr("href");
var re = new RegExp(idq + "\\-?");
$('.classh').children("a").attr("href", _href.replace(re, ''));
});https://stackoverflow.com/questions/25821622
复制相似问题