0

文字列があります。以下に例を示します。

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

上記の文字列からパス プロパティの値を抽出するにはどうすればよいですか。パス プロパティ以外の多くのプロパティが存在する可能性があります。

私が期待しているThr結果は

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 に答える