我正在尝试从已删除的网站中删除一些文字,并且不确定我可以使用哪些功能或库来使这更容易:
我从PhantomJS运行的代码示例:
var latest_release = page.evaluate(function () {
// everything inside this function is executed inside our
// headless browser, not PhantomJS.
var links = $('[class="interesting"]');
var releases = {};
for (var i=0; i<links.length; i++) {
releases[links[i].innerHTML] = links[i].getAttribute("href");
}
// its important to take note that page.evaluate needs
// to return simple object, meaning DOM elements won't work.
return JSON.stringify(releases);
});
类interesting
具有我需要的东西,被新的行和标签以及诸如此类的东西所包围。
这里是:
{"\n\t\t\t\n\t\t\t\tI_Am_Interesting\n\t\t\t\n\t\t":null,"\n\t\t\t\n\t\t\t\tI_Am_Interesting\n\t\t\t\n\t\t":null,"\n\t\t\t\n\t\t\t\tI_Am_Interesting\n\t\t\t\n\t\t":null}
我尝试了string.slice("\n");
但没有发生任何事情,我真的想要一种有效的方法来根据它与\n'
和\t
的关系切出这样的字符串小号
顺便说一句,这是我的分割代码:
var x = latest_release.split('\n');
干杯。
答案 0 :(得分:3)
这是一个剥离所有空格的简单案例。正则表达式的工作做得很漂亮。
var s = " \n\t\t\t\n\t\t\t\tI Am Interesting\n\t\t \t \n\t\t";
s = s.replace(/[\r\t\n]+/g, ''); // remove all non space whitespace
s = s.replace(/^\s+/, ''); // remove all space from the front
s = s.replace(/\s+$/, ''); // remove all space at the end :)
console.log(s);
进一步阅读:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp
答案 1 :(得分:2)
var interesting = {
"\n\t\t\t\n\t\t\t\tI_Am_Interesting1\n\t\t\t\n\t\t":null,
"\n\t\t\t\n\t\t\t\tI_Am_Interesting2\n\t\t\t\n\t\t":null,
"\n\t\t\t\n\t\t\t\tI_Am_Interesting3\n\t\t\t\n\t\t":null
}
found = new Array();
for(x in interesting) {
found[found.length] = x.match(/\w+/g);
}
alert(found);
答案 2 :(得分:1)
你能尝试用“\\ n”作为模式吗?你的\ n可以理解为普通字符串而不是特殊字符
答案 3 :(得分:0)
new_string = string.replace("\n", "").replace("\t", "");