使用正则表达式获取每个反斜杠之间的字符串

时间:2014-03-24 05:12:59

标签: c# regex

我希望正则表达式组中的'\'反斜杠之间的内容。

C:\\Development\\TestEnvironment\\VIdeo\MyVideo.mp3

2 个答案:

答案 0 :(得分:5)

string path = @"C:\Development\TestEnvironment\VIdeo\MyVideo.mp3";
var split = Regex.Split(path, "\\\\");

但是......

var split = path.Split('\\');

完成相同的结果, 可能 更快。

通过32次迭代,每次100万次,并获得这些结果。数字是来自StopWatch的ElaspedTicks。

Regex: 12707294.90625
Split:  3360008.8125

显然,如果它不时地运行,这可能不是问题,但如果情况不是这样,那么强烈只考虑String.Split()

答案 1 :(得分:5)

如果您hell-bent使用正则表达式:

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
    // ... Input string.
    string input = "C:\Development\TestEnvironment\VIdeo\MyVideo.mp3";

    // ... One or more digits.
    Match m = Regex.Match(input, "(?i)(?x)\\\\([\\w\\.]+)");

    // ... Write value.
    Console.WriteLine(m.Value);
    }
}