使用JavaScript字符串操作来删除确切的文本

时间:2012-07-03 07:59:57

标签: javascript jquery string split phantomjs

我正在尝试从已删除的网站中删除一些文字,并且不确定我可以使用哪些功能或库来使这更容易:

我从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');

干杯。

4 个答案:

答案 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", "");