So, I have a string and I want to remove the e-mail adress from it if there is one.
As example:
This is some text and it continues like this
until sometimes an email adress shows up [email protected]also some more text here and here.
I want this as a result.
This is some text and it continues like this
until sometimes an email adress shows up [email_removed]also some more text here and here.
cleanFromEmail(string)
{
newWordString =
space := a_space
Needle = @
wordArray := StrSplit(string, [" ", "`n"])
Loop % wordArray.MaxIndex()
{
thisWord := wordArray[A_Index]
IfInString, thisWord, %Needle%
{
newWordString = %newWordString%%space%(email_removed)%space%
}
else
{
newWordString = %newWordString%%space%%thisWord%%space%
;msgbox asd
}
}
return newWordString
}
The problem with this is that I end up loosing all the line-breaks and only get spaces. How can I rebuild the string to look just like it did before removing the email-adress?
That looks rather complicated, why not use RegExReplace
instead?
string =
(
This is some text and it continues like this
until sometimes an email adress shows up [email protected]
also some more text here and here.
)
newWordString := RegExReplace(string, "\S+@\S+(?:\.\S+)+", "[email_removed]")
MsgBox, % newWordString
Feel free to make the pattern as simple or as complicated as you want, depending on your needs, but RegExReplace
should do it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With