2011-11-24 213 views
1

問題不僅在於從字符串中識別電子郵件地址。這是關於用公司電子郵件地址替換找到的電子郵件地址。如何從長字符串中識別電子郵件地址並將電子郵件地址替換爲我公司的電子郵件地址?

例如,如果我有一個字符串如下:

「嗨,我的名字是約翰馬丁。我是一個畫家和雕塑家。如果你想購買我的畫作,請看我的網站上的投資組合,然後與我聯繫約翰@ gmail.com

我想,以取代上面的字符串

」嗨,我的名字是約翰·馬丁,我是一個畫家和雕塑家。如果你想購買我的作品,請看看我的然後與我聯繫[email protected]

+2

它總是'john @ gmail.com'? –

+0

不..也可以是[email protected] .. :-) –

回答

0
public String GetEMailAddresses(string Input) 
{ 
    System.Text.RegularExpressions.MatchCollection MC = System.Text.RegularExpressions.Regex.Matches(Input, "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"); 

    if(MC.Count > 0) 
     return MC[0].Value; 

    return ""; 
} 

您可以使用上述方法找到電子郵件地址。如果它返回的東西不是「」,這意味着它是一個電子郵件地址。現在,你可以簡單地使用方法與string.replace與新的電子郵件地址,以取代舊

string input = "Hi, My name is John Martin. I am a painter and sculptor. If you wish to purchase my paintings please look at my portfolio on the site and then contact me on [email protected]"; 
      string email = GetEMailAddresses(input); 
      input = input.Replace(email, "[email protected]"); 
相關問題