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);

match现在将包含一个数组,其中索引 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 回答