我需要一些幫助,使用正則表達式來提取以下信息位。使用正則表達式從字符串中提取數據
這裏是我的輸入字符串「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