需要C#的正则表达式

时间:2013-12-10 21:36:57

标签: c# regex

我是正则表达式的新手,希望对此有一些快速帮助..我们在数据库中有地址

S-01:145 Main Street(阳台) F-22:133华盛顿大道 P-55:210 South St(翻新)

我想删除S-01:以及括号之间的所有内容

        string Reg = @"^[\d-]+$";
        Regex r = new Regex(Reg, RegexOptions.IgnoreCase);
        Match m = r.Match(rawAddressRow["BuildingAddress"].ToString());

        if (m.Success)
        {                
            //Response.Write(m.Groups[1].Value);                
        }

2 个答案:

答案 0 :(得分:1)

您需要以下内容(假设您始终有一个字母,一个连字符和01开头):

Regex.Replace(input, @"(\w-\d{1,2}:\s?|\(.*?\))", "");

修改:已更新为同时删除F-22:和P-55 :,假设您也想要这样做。

在此处查看此行动:http://regex101.com/r/nT0wG1

答案 1 :(得分:0)

在字符串的开头删除1-4个非换行符,后跟冒号和空格。

Regex.Replace(input, @"(?<=^)(.{1,4}: )", "")

删除括号中的单词(包括括号)

Regex.Replace(input, @"\(\w*\)", "")

删除括号中的单词(留下括号)

Regex.Replace(input, @"(?<=\()(\w+)(?=\))", "")

组合解决方案(删除括号)

Regex.Replace(input, @"((?<=^)(.{1,4}: ))|(\(\w*\))", "")

我假设您将分别针对每个地址条目运行此正则表达式。