Help #define TO String.replace()

Laercionit:
Basically I have several strings that have been defined by #define to avoid memory usage.

That's a false premise. All #define does is simple character substitution. If you end up using the symbol that you #define(d) -- say in a print statement or call to SendEmail() -- then it's the same as using the literal string itself.

Think about it, that symbol that you #define(d) only exists in the compiler (EDIT: actually, I think it only exists in the pre-processor). The processor will know nothing about it once your code is compiled. If you use a string it has to be stored SOMEWHERE -- could be RAM, PROGMEM, SD Card, etc. There's no free lunch.