Regexp para extrair códigos postais de dados de endereço CSV

Regexp para extrair códigos postais de dados de endereço CSV

Tenho dados CSV com um dos campos que contém endereços enviados pelo cliente, com algumas entradas contendo apenas códigos postais, nem todos formatados da mesma forma, enquanto alguns contêm endereços e códigos postais.

por exemplo

"Dt29bu"

"hp17 9tn"

"Endereço indesejado, Barnet, Londres N12 0QF"

"S8 0ZW"

Gostaria de poder extrair apenas os códigos postais em um campo separado e formatá-los de forma que:

-se tiverem 5 caracteres, no formato XX XXX

-se tiverem 6 caracteres, no formato XXX XXX

-se tiverem 7 caracteres, no formato XXXX XXX

Posso então convertê-los em longitude/latitude.

Estou usando o OSX, portanto a funcionalidade Excel-VBA Regex não está disponível para mim. Qual é a melhor maneira de fazer isso?

informação relacionada