2012-06-19 45 views
0

我有一个字符串。下面给出一个例子。正则表达式从字符串获取url集合

[playlist]\r\npath1=url1\r\npath2=url2\r\npath=url3\r\npath4=url4\r\ncount=1 

如何从上面的字符串中提取路径属性值。可能有许多属性,而不是路径属性。

苏氨酸结果我期待是

url1 

url2 

url3 

url4 

我觉得正则表达式是最好做到这一点。任何有关Rgular表达式的想法(正则表达式)都需要。如何使用string.split方法..哪一个是有效的? ..

在此先感谢

+2

这听起来像你有一些好主意,使用'Regex'或使用'string.Split'。你有没有尝试过吗?你的结果是什么? – ean5533

+0

'string.Split'在这里看起来好像是初始列表。然后一个正则表达式可以用于这些值。 – ashes999

回答

2

那么这个正则表达式的工作在你的具体的例子:

path\d?=(.+?)\\r\\n 

什么是不会立即明显的是,如果在\r\n你的字符串字面上的字符\ r \ n ,或一个回车+新行。上面的正则表达式直接匹配那些字符。如果你的文本实际上是这样的:

[playlist] 
path1=url1 
path2=url2 
path=url3 
path4=url4 
count=1 

然后这个表达式将工作:

path\d?=(.+?)\n 

以及如何使用,在C#一个简单的例子:

var str = @"[playlist]\r\npath1=url1\r\npath2=url2\r\npath=url3\r\npath4=url4\r\ncount=1"; 
var matches = Regex.Matches(str, @"path\d?=(.+?)\\r\\n"); 
foreach (Match match in matches) 
{ 
    var path = match.Groups[1].Value; 
    Console.WriteLine(path); 
}