2017-08-14 86 views
-9

我得到这个字符串:正则表达式,在引号中查找文件名。 C#

( “{FAEC7O” 0-207F-765VB3-BF4B-00BCSJ23BC} “)= ”测试“, ”测试\ test.csproj“,”{2943HBS98000CC-FFDD- KD89E-9F84-08923HSB00CCd67}“)

我想要得到的结果的测试/ test.csproj。如何找到具有引号括起来的这部分和.csproj的结尾。

+0

除了立即downvote添加至少一个文本与“你好先生伊夫,请让我们知道你已经尝试了什么并向我们​​展示您编写的一些示例代码,我们不是一个代码写入机器,并且在这里提供帮助,而不是解决您的功课或完成客户的期望。 – Cataklysim

+0

你的任何企图?你尝试过什么吗? –

回答

0

您可以执行以下操作,每个逗号分割字符串。

("{FAEC7O"0-207F-765VB3-BF4B-00BCSJ23BC}") = "test", "test\test.csproj", "{2943HBS98000CC-FFDD-KD89E-9F84-08923HSB00CCd67}") 

在这种情况下,你可以让指数1得到你想要的结果:

string str = ("{FAEC7O\"0 - 207F - 765VB3 - BF4B - 00BCSJ23BC}\") = \"test\", \"test\\test.csproj\", \"{2943HBS98000CC-FFDD-KD89E-9F84-08923HSB00CCd67}").Split(',')[1]; 

index 0: "{FAEC7O"0-207F-765VB3-BF4B-00BCSJ23BC}") = "test", 
index 1: "test\test.csproj", 
index 2: "{2943HBS98000CC-FFDD-KD89E-9F84-08923HSB00CCd67}") 

作品还挺正则表达式是相同的:

var str = Regex.Split(("{FAEC7O\"0 - 207F - 765VB3 - BF4B - 00BCSJ23BC}\") = \"test\", \"test\\test.csproj\", \"{2943HBS98000CC-FFDD-KD89E-9F84-08923HSB00CCd67}"), ",")[1]; 

祝你好运!

1

既然你特别提到正则表达式,这里是一个典型的正则表达式你:

string pattern = @"""[^""]*\.(csproj)"""; 
Regex reg = new Regex(pattern, RegexOptions.IgnoreCase); 
Match match = reg.Match(yourString); 
Console.WriteLine(match.Groups[0].Value); // Group[0] is the full match. 

我会去到这个解释,如果你问,但在所有诚实,我发现对方的回答更优雅。看起来你正在处理一个列表,所以先将它分开是合适的。 (尽管我的正则表达式的[^“”] *部分以某种方式完成此操作)。