0

私は次のような値を持つ文字列を持っています:"H798asdhka80:124htg"

この文字列 (および同様の構造の文字列) からコロン ":" の前のすべての文字を取得したいので、新しい文字列は次のようになります。H798asdhka80

これを行うコードはどのようになりますか?

ありがとう

4

5 に答える 5

6

使用する

var str="H798asdhka80:124htg".split(':')[0]

を使用しsplit(':')て配列を取得します["H798asdhka80","124htg"]。そして、その配列の最初の要素のみを使用します。

于 2012-09-03T12:30:24.467 に答える
4

使用substr:

var str = "H798asdhka80:124htg",
    strpart = str.substr(0,str.indexOf(':'));

またslice

var str = "H798asdhka80:124htg",
    strpart = str.slice(0,str.indexOf(':'));

またsplit

var strpart = "H798asdhka80:124htg".split(/:/)[0];

またmatch

var str = "H798asdhka80:124htg".match(/(^.+)?:/)[1];

またreplace

var str = "H798asdhka80:124htg".replace(/:.+$/,'');

または、より一般的なString.prototype拡張機能を作成します

String.prototype.sliceUntil = function(str){
  var pos = this.indexOf(str);
  return this.slice(0, (pos>-1 ? pos : this.length));
}
var str = "H798asdhka80:124htg".sliceUntil(':124');
于 2012-09-03T12:30:32.857 に答える
3

正規表現の回答で、文字列の先頭からコロンまでのすべてに一致します。

var str = "H798asdhka80:124htg";
var txt = str.match(/^[^:]+/);
于 2012-09-03T12:33:21.680 に答える
2
"H798asdhka80:124htg".split(':')[0]
于 2012-09-03T12:30:57.350 に答える
0

これには正規表現は必要ありません。これはあなたのために働くはずです:

str.split(':')[0];

とにかく、他の方法は、次のreplaceように、正規表現を使用して文字列の不要な部分にすることです。

str.replace(/:.+$/, '');

デモ

于 2012-09-03T12:31:48.537 に答える