0

次の文字列のバリエーションがあるとします。

var string = "groups/Da12312a"
var string = "groups/Da12312a/search"
var string = "groups/Da12312a/search/sam"
var string = "groups/3131"
var string = "groups/444/search"
var string = "groups/123asdadsZad/search/sam"

groups /に続き、最初の'/'で終わる値だけを取り戻すにはどうすればよいですか?

必要な出力:

Da12312a
Da12312a
Da12312a
3131
444
123asdadsZad

jQueryまたはJavaScriptを使用していますか?ありがとう

4

4 に答える 4

4

この方法を使用できますsplit

string.split("/")[1];
于 2013-01-10T01:29:21.130 に答える
1
var output = string.split('/')[1];

String.split参照。

これは、提供された例と出力を含むデモです。

于 2013-01-10T01:29:20.250 に答える
1

単純な正規表現を使用します。

var str = 'groups/foo';
var matches = /groups\/([^/]*)/.exec(str);

一致には、インデックス0が「groups / 100」、インデックス1が「foo」の配列が含まれるようになります。

["groups/foo", "foo"]
于 2013-01-10T01:31:14.373 に答える
1

正規表現が必要な場合は、次を使用できます。

/^[^\/]*?\/([^\/]*).*/

基本的に、キャプチャされたグループは目的の結果をもたらします。

次のように使用します:

"groups/Da12312a/search".match(/^[^\/]*?\/([^\/]*).*/)
["groups/Da12312a/search", "Da12312a"]

"groups/Da12312a".match(/^[^\/]*?\/([^\/]*).*/)
["groups/Da12312a", "Da12312a"]

"groups/3131".match(/^[^\/]*?\/([^\/]*).*/)
["groups/3131", "3131"]

ご覧のとおり、いずれの場合も配列インデックス[1]が結果になります。

お役に立てば幸いです。

于 2013-01-10T01:34:51.430 に答える