对于您的项目(创建 chrome 扩展程序以删除广告),您实际上不需要操作文本,您需要操作 HTML 代码,或者更具体地说:DOM,在浏览器中表示 HTML 代码的文档对象模型。您可以使用 jQuery 非常方便地做到这一点。
以下是删除所有包含 DELETEME 的 li 的方法:
$('li:contains(DELETEME)').remove();
这是一个小提琴:http: //jsfiddle.net/bjelline/RrCGw/
最好的尝试方法是在浏览器中打开 den 开发人员工具并在控制台中输入命令,然后您将立即看到效果。
例如:谷歌搜索“学习 javascript”——你可能会看到一个广告。查看 HTML 源代码,找出 id 位于 id 为“tads”的 div 中。现在打开控制台并输入
$('#tads').remove();
广告将消失。
您特别询问了有关操作文本的问题。在处理文本时,学习正则表达式是一个好主意——不仅适用于 JavaScript,您还可以在许多编程语言中使用它们。
如果您的整个文本存储在变量字符串中,您可以这样做:
string = string.replace(/.*DELETEME.*/, "XXXX");
用 XXXX 替换该行。只需使用一个空字符串作为替换来完全清空它:
string = string.replace(/.*DELETEME.*/, "");
“.*”代表“任何字符,根据需要重复多次”,它与 DELETEME 之前和之后的文本匹配。此正则表达式仅适用于一行,因此其他行的文本不会更改。
有关工作示例,请参见http://jsfiddle.net/bjelline/Wc7ve/ 。
但是,如上所述:这不是您项目的正确工具。