1

我有一组 url,我需要编写正则表达式来过滤所需的内容。

/data/43492-someText/"

/data/221639-anotherText/"

/data/116345-不同文本/"

/data/6630-boooing/"

/data/220742-foo/"

我需要的只是最后没有 /" 的字符串,所以

/data/220742-foo

我的正则表达式如下所示:

@"/data/[0-9]{1,10}-.*""\s"

注意:我不想用字符串替换来做这个,因为我的项目有一些限制。

4

4 回答 4

5

如果(不以 结尾的字符串/)是唯一要求,则使用如下内容:

var desiredUrls = urls.Where(url => !url.EndsWith("/\""))

我最初将该问题阅读为过滤网址的愿望,但我可以看到它如何可能是一个映射问题。

var withoutSuffix = urls.Select(url => url.TrimEnd("/\"".ToCharArray());
于 2012-11-19T19:42:17.703 回答
4

我认为正则表达式对于您正在尝试做的事情来说有点矫枉过正。

无论如何,你可以使用这样的东西

@"/data/[0-9]{1,10}-[^/]+"
于 2012-11-19T19:48:11.950 回答
2

您可以使用TrimEnd从字符串末尾删除字符:

s.TrimEnd('/', '"')
于 2012-11-19T19:42:40.633 回答
1

你可以使用类似的东西:

(/data/[0-9]{1,10}-.+)/

没有尾随 / 的字符串将在第一个捕获组中。

于 2012-11-19T19:43:02.283 回答