0

希望是一个基本问题,因为我有点迷失从哪里开始。

假设我们在 JS 中有这个字符串:

var foo = "是的,今天#hello #vcc #toomanyhashtags #test 我们去公园跳舞了"

我将如何动态查找字符“#”并删除之后的所有内容,直到它碰到一个空格(或在#test的实例中,直到字符串结束)

IE。所以上面的字符串会变成:

var foo = "是的,今天我们去公园跳舞了"

我的概念是遍历整个字符串的字符和if字符===“#”,删除字符直到当前循环的项目===“”。有没有更短的方法来做到这一点?

初步概念:

var foo = "Hello, this is my test #test #hello";
var stripHashtags = function(x) {
    for (i=0; i < x.length; i++) {
        if (x[i] !== "#") {
            console.log(x[i]);
        }
    }
};
stripHashtags(foo);
4

3 回答 3

1

foo.substr(0,foo.indexOf("#"))。这可以为您提供所需的输出,我想如果那是您正在寻找的。

于 2013-10-26T18:45:17.860 回答
1

您也可以使用简单的正则表达式字符串

foo.replace(/#[^ ]*/g, ""))
于 2013-10-26T18:51:45.503 回答
0

您可以使用可用于字符串的 indexOf() 方法来解决此问题。这将返回您要查找的任何内容的第一次出现的字符位置。然后使用子字符串

var i = foo.indexOf('#');
foo = foo.substr(0,i);
于 2013-10-26T18:46:06.807 回答