gpt4 book ai didi

javascript - 替换子字符串和可选的后续字符

转载 作者:行者123 更新时间:2023-11-28 00:59:17 24 4
gpt4 key购买 nike

如果某个子字符串后面的字符是 -,如何替换它?我使用正则表达式来匹配和替换子字符串本身,但我也想匹配紧随其后的字符(如果它是连字符)。

例如:

$('.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之后的下一个字符是什么。如果字符是 - 那么我想将其替换为 '' (空白字符串)。如果是其他内容,我希望它被忽略。

最佳答案

使用 ? 正则表达式运算符,它可以选择匹配前面的元素。如果存在,它将被替换。如果不是,则仅替换原始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, ''));
});

关于javascript - 替换子字符串和可选的后续字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25821622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com