【发布时间】:2020-01-15 01:41:16
【问题描述】:
我正在使用cheerio 进行一些简单的抓取。
我想从网站上抓取内容。我想用 HTML 格式抓取它,所以我在cheerio 中使用.html()。
const content = item.find(`div.message`).html()
结果是一个 HTML 源代码
\n\t\t\t\n\t\t\tmua về độ lại xinhan khóa thông minh đèn thấy ok mà <img src=\"/images/smilies/Off/boss.gif\" border=\"0\" alt title=\"Boss\" class=\"inlineimg\">\n\t\t
我想删除所有的\n\t\n\n\t。我使用的正则表达式是
(\\t\\n|\\n|\\t)
我在 regex101 网站上工作得很好。它匹配字符串中的所有\n\t\n。但是当我在Javascript中使用replace方法时,它不起作用。
const content = item.find(`div.message`).html().replace(/(\\t\\n|\\n|\\t)/, "")
结果还是与\n\t\n\n\t相同的字符串。
我需要在代码中更改什么?
更新了更多代码
我创建一个新文件来测试
const string =
'\n\t\t\t<!-- BEGIN TEMPLATE: ad_showthread_firstpost_start -->\n\n<!-- END TEMPLATE: ad_showthread_firstpost_start -->\n\t\t\ttính tết này súc em winner x , máy thím cho em ý kiến với <img src="/images/smilies/Off/pudency.gif" border="0" alt title="Pudency" class="inlineimg">\n\t\t';
console.log(string.replace(/(\\t\\n|\\n|\\t)/, ""));
结果是一样的
【问题讨论】:
-
为什么不保持正则表达式简单:
content.replace(/[\\t\\n]/g, '')。另外,"/(\\t\\n|\\n|\\t)/"这是一个字符串。删除引号使其成为正则表达式对象 -
@Rajesh 是的,但仍然得到相同的结果。它不会删除 \n\t\n\n...
-
使用这个:a.replace(/\t|\n/g, '');
-
@ATULKUMARSINGH 它现在仍然可以工作:(
-
我在浏览器中执行了该代码,它对我有用。
标签: javascript node.js