对于任何英国邮政编码,我想用大写 A 替换所有字母,用 9 替换所有数字。
例如 CH5 1EF 将变为 AA9 9AA EC1N 4DH 将变为 AA9A 9AA
这是否可以在单个 RegEx.Replace 中实现,还是我必须有两个单独的 RegEx.Replace 语句?
对于任何英国邮政编码,我想用大写 A 替换所有字母,用 9 替换所有数字。
例如 CH5 1EF 将变为 AA9 9AA EC1N 4DH 将变为 AA9A 9AA
这是否可以在单个 RegEx.Replace 中实现,还是我必须有两个单独的 RegEx.Replace 语句?
你还没有说你使用的是什么语言,我只会给出正则表达式。
两个操作:
[A-Z]
并替换为:A
\d
并替换为:9
在java中,它看起来像:
String postcode = "CH5 1EF";
String result = postcode.replaceAll("[A-Z]", "A").replaceAll("\\d", "9");
为此,您需要两个替换:首先将所有 [A-Za-z] 替换为“A”,然后将所有 [0-9] 替换为“9”。即使有一种方法可以用一个表达式来做到这一点,阅读和维护它也将是一场噩梦。