I am working on some software that cleans up data before sending it into another system. The data comes from all around the world and contains a variety of characters that have to be replaced. For example ‘, : ; @

The system that accepts the parsed data has very strict character set. It allows 
the letters A to Z (upper case only)
the numerals 0 to 9
the special characters / -. Space < =

The data arrives in Excel spreadsheets so I have written the following code in a visual basic macro.

fhl\_str contains the data to be cleansed

```
fhl_str = Replace(fhl_str, ",", " ")
fhl_str = Replace(fhl_str, "'", " ")
fhl_str = Replace(fhl_str, ":", " ")
fhl_str = Replace(fhl_str, ";", " ")
fhl_str = ucase(fhl_str)

```

Now, each time a new unwanted character arrives we have to add a new line of code. e.g. fhl\_str = Replace(fhl\_str, "@", " ")

My question is
Could I reverse the logic so that the macro looks for A to Z and 0 to 9 and deletes anything else. That way my code would be future proof for new unwanted characters.

Thanks