我需要一些帮助,使用正则表达式来提取以下信息位。使用正则表达式从字符串中提取数据
这里是我的输入字符串“C:\是”
********在字符串的开始和缺少的字符之间而不是在最后= 一个奇怪的看着标L. * **
我需要将“C:\”提取到一个字符串中,将“Yes”提取到另一个字符串中。
在此先感谢。
我需要一些帮助,使用正则表达式来提取以下信息位。使用正则表达式从字符串中提取数据
这里是我的输入字符串“C:\是”
********在字符串的开始和缺少的字符之间而不是在最后= 一个奇怪的看着标L. * **
我需要将“C:\”提取到一个字符串中,将“Yes”提取到另一个字符串中。
在此先感谢。
下面的正则表达式中的第一个捕获组返回C:\
,其余第二:
^(\w:\\)(.*)$
这是在寻找:一个完整的字串(^…$
)开始以字母(\w
,虽然[a-z]
会可能更准确的Windows驱动器号),其次是:\
。其余的(.*
)被捕获到第二组中。
请注意,这不适用于UNC路径。如果你在使用路径,最好的办法不是使用字符串和正则表达式,而是使用System.IO
中的API。在那里找到的类已经提供了你想要的功能。
我goiong给这一个镜头,它看起来像我想要的东西,似乎很容易阅读。如果它解决了我的问题,我会用答案来解决它。谢谢。 – IbrarMumtaz 2009-08-30 00:03:29
Regex r = new Regex("([A-Z]:\\)([A-Za-z]+)");
Match m = r.Match(@"C:\");
string val1 = m.Groups[0];
string val2 = m.Groups[1];
我不打扰正则表达式。工作太多,而且我很可能会把它搞砸。
var x = @"C:\Yes";
var root = Path.GetPathRoot(x); // => @"C:\"
var file = Path.GetFileName(x); // => "Yes"
这可以,但不是用路径工作,是的是别的都在一起。不管怎么说,多谢拉。 – IbrarMumtaz 2009-08-30 22:27:34
如果它看起来像“C:\ Yes”,即使它不是路径,我仍然会使用这些方法,原因正是给出的原因。无论是否为配置文件,对计算机都没有影响。 – Alec 2009-09-01 14:01:46
我有一个想法,但我一直全力以赴为3个小时,现在这样...... =) – IbrarMumtaz 2009-08-29 14:58:38