2012-07-09 86 views
0

我使用C#和地方之一,我在格式得到了與他們的電子郵件ID的所有人民名單代碼一種優雅的方式來剝離串

name(email)\n

我剛來到這個子串東西就在我的頭上。我正在尋找更優雅,更快速(根據訪問時間,執行操作),容易記住的代碼行來做到這一點。

string pattern = "jackal([email protected])"; 
string email = pattern.SubString(pattern.indexOf("("),pattern.LastIndexOf(")") - pattern.indexOf("(")); 

//extra 
string email = pattern.Split('(',')')[1]; 

我想這樣做會對每個字符進行順序訪問,直到找到字符的索引。好了,現在工作,因爲名字是短暫的,但有一個大的名字時,會努力(希望人們不要有一個)

+9

長了幾百萬字的處理名時,我完全可以看到爲此而努力。 – Jon 2012-07-09 09:15:10

+0

看起來像一個簡單的正則表達式的工作。 – leppie 2012-07-09 09:16:10

+0

@Jon所以這很好? – Deeptechtons 2012-07-09 09:16:19

回答

0

一個骯髒的黑客將讓微軟爲你做它。

try 
{ 
    new MailAddress(input); 
    //valid 
} 
catch (Exception ex) 
{ 
    // invalid 
} 

我希望他們做的比一個自定義的REG-EX一個更好的工作。

維護一個自定義的REG-EX是完成所有的操作可能涉及一些努力。

參見:MailAddress

你的格式實際上是非常接近一些支持的格式。 ()中的文本被視爲註釋,但是如果用>替換(使用<和)並獲得支持的格式。

相關問題