最後のスペースまでのすべての文字を分割して保持したい文字列値があります。
e.g var x="item1 item2 item3 *stopMarker"
var y=someRegOpr(x); and y will contain only "item1 item2 item3"
正規表現でこれを行う方法。
ありがとう
最後のスペースまでのすべての文字を分割して保持したい文字列値があります。
e.g var x="item1 item2 item3 *stopMarker"
var y=someRegOpr(x); and y will contain only "item1 item2 item3"
正規表現でこれを行う方法。
ありがとう
lastIndexOf()
代わりに使用するとどうなりますか:
var x = "item1 item2 item3 *stopMarker";
x.substring(0, x.lastIndexOf(" ")); // "item1 item2 item3"
更新:スペースのない単一の単語をハックします:
var x = "item1";
x.substring(0, Math.max(0, x.lastIndexOf(" ")) || Infinity); // "item1"
UPDATE2:正規表現を使用しても同じです:
"item1 item2 item3 *stopMarker".split(/ [^ ]*$/).pop(); // "item1 item2 item3"
var x = "item1 item2 item3 *stopMarker";
var ans = x.match(/(.*)\s[^\s]*/);
次に、回答が保存されますans[1]
これはあなたが望むものを得るはずです:
'item1 item2 item3 *stopMarker'.split(/(.*)\s.*$/)
結果として
["", "item1 item2 item3", ""]
次に、""
手動で除外する必要があります。
文字列を SPLIT し、*stopMarker なしで配列を取得する場合は、次のようにします。
var x="item1 item2 item3 *stopMarker";
var y = x.split(" ");
y=y.splice(0, y.length-1);
そうでない場合は、.lastIndexOf ソリューションを使用してください。
「後に続く」式を使用します。
"item1 item2 item3 *stopMarker".match( /^.*(?=\s)/i )
>> ["item1 item2 item3"]