我正在尝试删除我正在抓取的html文件中的非常具体的标记和文本。有没有人知道如何一起搜索和删除这个特定的标签和文本?
<p class="align-left">  Scheduled Arrival Time</p>
答案 0 :(得分:1)
您可以使用正则表达式将特定元素替换为其内容。 随时编辑正则表达式以满足您的需求。它选择任何带有'align-left'类的p标签。
var pattern = /<(p)\s*class\s*=\s*['\"]\s*align-left\s*['\"]\s*[^<]*<\/\1\s*>/g;
var content = "this is<p class=\"align-left\">  Scheduled Arrival Time</p> a line !";
content = content.replace(pattern, "");
console.log(content);
如果您需要检查特定标签中是否存在文本,可以使用:
var pattern = /<(p)\s*class\s*=\s*['\"]\s*align-left\s*['\"]\s*>[^<]*(Arrival Time)[^<]*<\/\1\s*>/g;
var content = "this is<p class=\"align-left\">  Scheduled Arrival Time</p> a line !";
var test2 = "im not <p class=\"align-left\">  Scheduled</p> a line !";
content = content.replace(pattern, "");
console.log(content);
console.log(test2);