我需要一些使用正则表达式提取以下信息的帮助。
这是我的输入字符串"C:\Yes“
*字符串开头和中间缺少字符,但不在结尾=一个奇怪的上标,看起来像L。*
我需要将"C:\“提取到一个字符串中,并将"Yes”提取到另一个字符串中。
提前谢谢。
发布于 2009-08-29 07:04:48
以下正则表达式在第一个捕获组中返回C:\
,在第二个捕获组中返回其余内容:
^(\w:\\)(.*)$
这将查找:以字母开头的完整字符串(^…$
) (\w
,尽管[a-z]
可能更准确地表示Windows驱动器号),然后是:\
。其余的(.*
)都在第二组中捕获。
请注意,这不适用于UNC路径。如果使用路径,最好的方法不是使用字符串和正则表达式,而是使用System.IO
中的应用编程接口。那里的类已经提供了您想要的功能。
发布于 2009-08-29 07:06:27
我不会为此而费心使用正则表达式。太多的工作,我很可能会把它搞砸。
var x = @"C:\Yes";
var root = Path.GetPathRoot(x); // => @"C:\"
var file = Path.GetFileName(x); // => "Yes"
发布于 2009-08-29 07:05:52
Regex r = new Regex("([A-Z]:\\)([A-Za-z]+)");
Match m = r.Match(@"C:\");
string val1 = m.Groups[0];
string val2 = m.Groups[1];
https://stackoverflow.com/questions/1351629
复制相似问题