用于修剪字符串的正则表达式

时间:2014-03-17 15:51:12

标签: regex string c#-4.0

在我的应用程序中,我试图从一个' content-header'中检索的字符串中获取文件的名称。来自服务器的标签。文件名看起来像\"uploads/2014/03/filename.zip\"(引用包含在值中)。

我尝试使用Path.GetFileName(string);来获取文件名,但它会抛出一个异常,说明路径中存在非法字符。

我应该使用什么才能让filename.zip返回?是一个正则表达式是修剪这个字符串的最好方法还是有更好的一个?

\"uploads/2014/03/部分的长度始终相同。 filename.zip可以是任何文件名和扩展名,我只是以此为例。但数字可能会有所不同。对我来说这听起来像是一个正则表达式的工作,但我不知道如何使用正则表达式。

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

var inputString = @"\""uploads/2014/03/filename.zip\""";

var result = inputString.Trim('\\', '"').Split('/')[3];

如果格式总是像\"uploads/someNumber/someOtherNumber/filename\"那样,这应该有用。为了使其更安全,您可能希望在Split之后使用Enumerable.Last方法:

var result = inputString.Trim('\\', '"').Split('/').Last();