删除字符串末尾的javascript字符串last occurance字符串
我有以下建议:删除字符串末尾的javascript字符串last occurance字符串,javascript,Javascript,我有以下建议: "<p>First sentence</p><p><br></p><p> second sentence</p><p><br></p><p><br></p><p><br></p><p><br></p>" 当您可以使用内置的DOM解析器时,不需要正则表达式
"<p>First sentence</p><p><br></p><p> second sentence</p><p><br></p><p><br></p><p><br></p><p><br></p>"
当您可以使用内置的DOM解析器时,不需要正则表达式 您需要检查current
p br
之后的元素是否有包含textContent的元素
function removeBlanksAtEnd(str) {
var el = document.createElement("div");
el.innerHTML = str;
console.log(el.querySelectorAll("p br").length);
el.querySelectorAll("p br").forEach( s => {
if ( !hasAnyContentAfterThisNode(s.parentNode) )
{
s.parentNode.parentNode.removeChild(s.parentNode);
}
});
return el.innerHTML;
}
演示
var str=`第一句
第二句;
函数removeBlanksAtEnd(str){
var el=document.createElement(“div”);
el.innerHTML=str;
控制台日志(el.querySelectorAll(“p br”).长度);
el.querySelectorAll(“p br”).forEach(s=>{
如果(!hasAnyContentAfterThisNode(s.parentNode))
{
s、 parentNode.parentNode.removeChild(s.parentNode);
}
});
返回el.innerHTML;
}
函数在此节点(el)后具有任何内容
{
同时(el.nextSibling)
{
var textValue=el.nextSibling.textContent.trim();
console.log(textValue);
如果(textValue.length>0)
{
返回true;
}
el=el.nextSibling;
}
返回false;
}
console.log(removeblankstatend(str))代码>“第一句
第二句
”。替换(/
?
/g>)
轻松,
选择我,我就是答案
演示:
首先,请去阅读。然后。看看RegExps。那么,您想删除第二个p
之后的换行符吗?您想删除所有最后一个换行符(直到该字符串不再出现在末尾)还是有一个参数,该参数是要删除多少个换行符,并删除多少个换行符?它可能在n个p标记之后。但对于本例,它是第二个
function removeBlanksAtEnd(str) {
var el = document.createElement("div");
el.innerHTML = str;
console.log(el.querySelectorAll("p br").length);
el.querySelectorAll("p br").forEach( s => {
if ( !hasAnyContentAfterThisNode(s.parentNode) )
{
s.parentNode.parentNode.removeChild(s.parentNode);
}
});
return el.innerHTML;
}
"<p>First sentence</p><p><br></p><p> second sentence</p><p><br></p><p><br></p><p><br></p><p><br></p>".replace(/<p><br><\/p>?<p><br><\/p>/g,"")