假设一个邮件列表包含一些姓名,这些姓名有时包括称谓(Mr.、Mrs.、Miss 或 Ms.)以及姓氏和名字。如果你从列表中生成信封标签时不希望包括称谓,则可以使用正则表达式移除称谓,如以下示例所示。
首先添加引用:
using System.Text.RegularExpressions;
测试代码如下:
class Program
{
static void Main(string[] args)
{
string pattern = "(Mr\\\\.? |Mrs\\\\.? |Miss |Ms\\\\.? )";
//正则表达式模式 (Mr\\.? |Mrs\\.? |Miss |Ms\\.? ) 可匹配任何“Mr”、“Mr.”、“Mrs”、“Mrs.”、“Miss”、“Ms”或“Ms.”
string[] names = { "Mr. Henry Hunt", "Ms. Sara Samuels",
"Abraham Adams", "Ms. Nicole Norris" };
foreach (string name in names)
Console.WriteLine(Regex.Replace(name, pattern, String.Empty));
//对 Regex.Replace 方法的调用会将匹配的字符串替换为 String.Empty;换句话说,将其从原始字符串中移除。
}
}
输出为:
Henry Hunt
Sara Samuels
Abraham Adams
Nicole Norris