使用正则表达式识别英国邮政编码中的模式
对于任何英国邮政编码,我想将所有字母替换为大写 A,将所有数字替换为 9。
例如 CH5 1EF 将变为 AA9 9AA EC1N 4DH 将变为 AA9A 9AA
这在单个 RegEx.Replace 中是否可能,或者我是否必须有两个单独的 RegEx.Replace 语句?
For any UK postal code I want to replace all letters with capital A and all digits with 9.
For example
CH5 1EF would become AA9 9AA
EC1N 4DH would become AA9A 9AA
Is this possible in a single RegEx.Replace or would I have to have two separate RegEx.Replace statements?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你还没有说你使用什么语言,我只给出正则表达式。
两个操作:
[AZ]
并替换为:A
\d
并替换为:9
在java中,它看起来像:
You haven't said what language you are using, I'll just give the regex.
Two operations:
[A-Z]
and replace with:A
\d
and replace with:9
In java, it would look like:
为此,您需要两次替换:首先将所有 [A-Za-z] 替换为“A”,然后将所有 [0-9] 替换为“9”。即使有一种方法可以用单个表达式来做到这一点,阅读和维护它也将是一场噩梦。
You'd need two replaces for this: first replace all [A-Za-z] with "A" then replace all [0-9] with "9". Even if there was a way to do this with a single expression it would be a nightmare to read and maintain it.