0

どこから始めればいいのか少し迷っているので、基本的な質問であることを願っています。

JS に次の文字列があるとします。

var foo = "はい、今日 #hello #vcc #toomanyhashtags #test 私たちは公園に行って踊りました"

文字「#」を動的に見つけて、スペースに到達するまで(または#testのインスタンスで文字列が終了するまで)すべてを削除するにはどうすればよいですか?

すなわち。したがって、上記の文字列は次のようになります。

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 に答える
0

これについては、文字列で使用できる indexOf() メソッドを使用して行うことができます。これは、探しているものが最初に出現した文字の位置を返します。次に、部分文字列を使用します

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