Does anyone know of a quick fix to this problem?

I have a column in my table that contains various phone numbers. However to keep these unique any phone number that is a duplicate has been assigned a ~ and the number referring to the duplicate occurrence. So I am left with data as shown below

01234567890
01234567890~1
01234567890~2
01345678901
01345678901~1
01345678901~2
01345678901~3
etc....

What I want to do is ignore the ~ and the number on the end of the phone number like so:

Left$(PhoneNumber, 11)

The only problem being that some of my phone numbers are 10 digits and some are 11 digits. Is there any function that will look at a string and get everything to the left of it i.e. everything left of the character "~"

Left$(PhoneNumber, "~")

Many Thanks

Daniel Stead