2011-07-05 90 views
2

我有一個字符串。C#幫助正則表達式

我必須找到這個字符串的特定部分。我想用正則表達式。

我需要以這個名字* = UTF-8 \'destination \ r \ n字符串來查找目的地部分。這將是好的模式?

謝謝。

回答

3

要找到name*=UTF-8''destination\r\n您可以使用類似

name\*=(.*)$ 

字符串=後的部分,那麼將是捕獲組1

,如果你真的只想要destination的一部分,它可能更多這樣

name\*=UTF-8''(.*)$ 

*是在正則表達式(量詞特殊字符爲0或MOR Ë出現次數),所以你需要逃避它\*

()括號創建捕獲組(如result.Groups[1])接入)

$是該行的末尾匹配的錨。 (您\r\n

String Text_A = @"name*=UTF-8''destination 
    "; 
Regex A = new Regex(@"name\*=UTF-8''(.*)$"); 
var result = A.Match(Text_A); 
Console.WriteLine(result.Groups[1]); 

但您提供的信息是有點稀疏,你能解釋一下多一點,讓更多的環境?

+0

感謝。該解決方案是有效的。對不起,我的英文不太好。 我正在使用Imap/pop3電子郵件客戶端,因爲它可能包含突出顯示的字母,所以獲取附件文件名時有點問題。 – user829081

1

我不完全確定問題的哪一部分是要匹配的字符串,但假設您的字符串是「name * = UTF-8」destination \ r \ n「,則可以使用此字符串:

@"name\*=UTF-8""(?<destination>.*)\r\n" 

的「目的地」字段將是匹配對象訪問,即:

var regex = new Regex(@"name\*=UTF-8""(?<destination>.*)\r\n"); 
var match = regex.Match(test); 
var destination = match.Groups["destination"].Value; 

根據上下文,你可以用更通用的規則來替換匹配字符串的其他一些地方表達構建體(如. \w \s等)

乾杯,

西蒙

+0

感謝幫助。是的,我想找到字符串的目標部分。 – user829081