1

私はいくつかのテキストコンテンツを持っています

atxtCtnt = "Helow Hay How Are You"

Hayが存在する場合、 Hayを削除する必要があります。

私はこのようにしました:

var atxtCtnt = "Helow Hay How Are You",
txt = atxtCtnt.substring(atxtCtnt.indexOf("Hay"));
atxtCtnt = atxtCtnt.replace(txt , "");
alert(atxtCtnt );

RegExpなしでより良い方法で私を助けてください

4

6 に答える 6

4

正規表現を使用したくない場合...これにより、コードが少し短くなると思います

a = atxtCtnt.indexOf('Hay');
atxtCtnt = a >=0?atxtCtnt.substring(0,a):atxtCtnt;
于 2012-12-13T07:17:32.173 に答える
4

0 からインデックスまでの部分文字列が必要です。ただし、インデックスが 0 より大きい場合に限ります (「干し草」という用語がテキストに存在します)。このような

var atxtCtnt = "Helow Hay How Are You";
var index = atxtCtnt.indexOf("Hay");
var newText = (index < 0) ? atxtCtnt : atxtCtnt.substring(0, index);
alert(newText);
于 2012-12-13T07:18:01.260 に答える
2
var word = "Hay";
var a = "Helow Hay How Are You";
var b = a.split(word); // now you have two parts b[0] = Helow and b[1] = How Are You
document.body.innerHTML=b[0];
于 2012-12-13T07:18:43.300 に答える
2

これは私がしたことです

var atxtCtnt = "Helow Hay How Are You",
txt = atxtCtnt.substring(0, atxtCtnt.indexOf("Hay"));
alert(txt );​

あなたの答えをありがとう:)

于 2012-12-13T10:14:38.630 に答える
2

これはうまくいくはずです:

atxtCtnt = atxtCtnt.substring(0, atxtCtnt.indexOf("Hay"));

編集:存在しない場合を説明するにHayは:

atxtCtnt = atxtCtnt.substring(0, atxtCtnt.indexOf("Hay") === -1 ? atxtCtnt.length : atxtCtnt.indexOf("Hay"));
于 2012-12-13T07:12:33.953 に答える
2

これが部分文字列を使用した場合よりも優れたソリューションであるかどうかはわかりませんが、これを試すこともできます。

atxtCtnt.split('Hay')[0]

次のように、「Helow」の末尾にある空白を削除できます。

atxtCtnt.split('Hay')[0].trim()
于 2012-12-13T07:17:51.913 に答える