2012-05-14 9 views
1

それは遅いです、私は本当に疲れました。私は簡単なことを考え出すのに苦労しています。文字列の特定の部分が始まる位置を見つける方法はありますか?

私はyは数字、xはスペースや改行を持つ単一の単語があるフォーム

BROADCAST FROM x\ny\nz 

...のものであろう文字列を持っている、とzは、その長さは文字の文字列でありますyです。

私が必要とするのは、zの開始インデックスを見つけることで、代わりにstring.slice(indexOfZ)がかかることがあります。

この正規表現の形式は何ですか?JavaScriptでどのように記述しますか?

それは

pattern = /\n[0-9]{1,}\n.*/; 
var index = string.match(pattern); 

私が間違ってどこかにアム...の効果にすべきですか?これを見つけるため

+0

実際にインデックスが必要ですか、またはインデックスは終了を意味していますか? –

+0

いいえ、あなたの答えは完全に有効でした。 – New2This

答えて

3

なぜ/^BROADCAST FROM \w+ \d+ (.+)$/動作しません:?uはちょうどZそうしたいように見えますか

+0

これは完全に動作します。 – New2This

0

一つの方法は、/

var myString = x\ny\nz; 
var str = myString.split('\'); //if the format is same. 

var index = str[2].indexOf("z")で文字列を分割しています。

別の解決方法があります。これは現在私の心の中に入っているものです。

これは役に立ちます。

+0

申し訳ありませんが、あなたは誤解しています。 z、y、およびxはプレースホルダ変数です。彼らは実際に文字列に表示されません。これには正規表現が必要です。 – New2This

+0

私たちは少しエスケープする必要があります: '' hello \\ world ".split(" \\ ")' – ajax333221

1

正規表現はすべて正常ですが、この例では自分自身では難しいです。

var aParts = sFullString.split("\n"); 

編集:

var z = aParts[2]; 
+0

ああ、賢いアイデア。非常に賢い。私はちょうどそれを考えないほど疲れています。 – New2This

+1

部分文字列を行った最初の行を編集しました。あなたはxの値を気にしないなら、あなたはそれを必要としません。 –

+1

もう1つの非正規表現の方法は、['sFullString.substr(sFullString.lastIndexOf(" \ n ")+1)'](https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/String/lastIndexOf)... – nnnnnn

関連する問題