我該如何替換段落中的電子郵件地址,假設它是一個字符串,並帶有名稱? 像[email protected] = XX,.COM,.AE如何使用C#中的正則表達式在文本中用名稱替換電子郵件地址?
輸入= 「接觸[email protected]或[email protected]更多細節」
輸出=「聯繫美國廣播公司或Defg更多細節「
我該如何替換段落中的電子郵件地址,假設它是一個字符串,並帶有名稱? 像[email protected] = XX,.COM,.AE如何使用C#中的正則表達式在文本中用名稱替換電子郵件地址?
輸入= 「接觸[email protected]或[email protected]更多細節」
輸出=「聯繫美國廣播公司或Defg更多細節「
既然你問了一個正則表達式,我要給你一個。
Regex regex = new Regex(@"(\.|[a-z]|[A-Z]|[0-9])*@(\.|[a-z]|[A-Z]|[0-9])*");
foreach (Match match in regex.Matches(inputString))
{
// match.Value == "[email protected]"
string name = match.Groups[1]; // "xx"
string domain = match.Groups[2]; // "yahoo.com.my"
}
@DmitryDovgopoly我提供了一個'Regex'。你可以自己替換。不要懶惰。 – Nolonar 2013-03-25 10:07:59
謝謝,這就是我一直在尋找,像往常一樣,在看到解決方案後感到很蠢:P – TrackmeifYouCan 2013-03-25 10:50:17
@TrackmeifYouCan在這種情況下,你應該考慮接受答案;) – Nolonar 2013-03-25 10:55:21
int end = myString.IndexOf('@');
string name=myString.Substring(0, end);
試試這個。
您可以參考這裏的子功能>>
爲什麼你把「結束」參數命名爲「開始」?奇怪的命名約定;) – Nolonar 2013-03-25 09:57:29
點注意。並回答編輯!感謝名單。 – Freelancer 2013-03-25 09:58:34
Sting input = "contact [email protected] or [email protected] for more details";
String pattern = @"(\S*)@\S*\.\S*";
String result = Regex.Replace(input , pattern , "$1");
public static string ReplaceEmail(string emailBody) {
string scrubbedemailBody = emailBody;
Regex regex = new Regex(@"(\.|[a-z]|[A-Z]|[0-9])*@(\.|[a-z]|[A-Z]|[0-9])*");
scrubbedemailBody = regex.Replace(scrubbedemailBody, match => {
return new string(' ', match.Length);
});
return scrubbedemailBody;
}
考慮提供一些解釋以及您提供的代碼。 – 2017-04-27 21:20:11
你的問題不清楚! – 2013-03-25 09:51:33
您可以在標題中顯示電子郵件,也可以使用jQuery或JavaScript替換懸停事件中的字符串。 – 2013-03-25 09:54:27
你需要正則表達式嗎? – 2013-03-25 09:56:00