2012-01-23 87 views
2

對於任何英國郵政編碼我想9.使用正則表達式來確定英國的郵政編碼模式

以取代大寫字母A所有字母和所有數字例如 CH5 1EF將成爲AA9 9AA EC1N 4DH將成爲AA9A 9AA

這是可能在一個RegEx.Replace或我必須有兩個單獨的RegEx.Replace語句?

+0

你必須使用正則表達式?或任何可以解決您的問題的事情都可以嗎? – Jaxedin

回答

2

你還沒有說你在用什麼語言,我只是給出正則表達式。

兩個操作:

  1. 匹配的正則表達式:[A-Z]並替換爲:A
  2. 匹配的正則表達式:\d並替換爲:9

在java中,它看起來像:

String postcode = "CH5 1EF"; 
String result = postcode.replaceAll("[A-Z]", "A").replaceAll("\\d", "9"); 
0

您需要兩次替換:首先將所有[A-Za-z]替換爲「A」,然後將所有[0-9]替換爲「9」。即使有一種方法可以用單個表達式來完成,讀取和維護它將是一場噩夢。

相關問題