0

我有一个字符串。下面给出一个例子。

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

如何从上述字符串中提取路径属性值。除了路径属性之外,可能还有许多属性。

我期待的结果是

url1

url2

url3

url4

我认为正则表达式最好做到这一点。需要关于 Rgular 表达式的任何想法(正则表达式)。使用 string.split 方法怎么样..哪个有效?..

提前致谢

4

1 回答 1

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);
}
于 2012-06-19T13:04:31.413 回答