正则表达式用空字符串删除所有数字和点

时间:2015-05-26 14:42:04

标签: c# regex

请考虑以下事项:

WRONG

  

地址1:12 ST。 JOHN DRIVE

     

地址2:

CORRECT

  

SAON:12

     

Thorofare:ST JOHN DRIVE

我需要执行一些REGEX来匹配这两个地址,因为你可以看到它们之间的主要区别是:

1。)道路名称已写入房屋名称/编号字段

2。)在错误的地址中单词ST之后有一个DOT。

我有一个CORRECT地址列表,与有问题的邮政编码中的错误地址相匹配。从这个列表中我想将其过滤到正确的1地址。

这是我到目前为止所做的:

Addresses.FirstOrDefault(x => x.paon.Trim() == Regex.Replace(exception.AddressLineOne, "[^0-9.]", "") && x.thorofare.Trim() == Regex.Replace(exception.AddressLineOne, "[^\\d-]", ""));

我想要做的是首先从WRONG地址1中删除所有非数字的数字并将其与CORRECT saon匹配,然后从错误地址1中删除所有数字而且,虽然我在替换任何

  

使用空字符串,然后将其与CORRECT thorofare匹配。

我想我已经在我的代码中完成了第一部分,但是无法看到如何删除点并用空字符串替换它?

那么,我如何使用正则表达式删除exception.AddressLineOne中的所有数字并且还用零替换点?

1 个答案:

答案 0 :(得分:0)

Addresses.FirstOrDefault(x => x.paon.Trim() == Regex.Replace(exception.AddressLineOne, "[^0-9]", "") && x.thorofare.Trim() == (Regex.Replace(exception.AddressLineOne, "[^a-zA-Z\\s]", "").Trim()))