Function removeOrdinals(strIn As String) As String
'removeOrdinals("test 1st 3rd street")
'returns: "test 1 3 street"
Dim i As Long
Dim limiter As Long
Dim prev As String
Dim bufReturn As String
Dim ordinals(1 To 4) As String
ordinals(1) = "st": ordinals(2) = "nd": ordinals(3) = "rd": ordinals(4) = "th"
bufReturn = strIn
For Each o In ordinals
i = 0
Do
i = InStr(i + 1, bufReturn, o, vbTextCompare)
limiter = limiter + 1
If i > 1 Then
prev = Mid(bufReturn, i - 1, 1)
If IsNumeric(prev) Then
bufReturn = Left(bufReturn, i - 1) & Right(bufReturn, Len(bufReturn) - (i + 1))
End If
End If
Loop Until i = 0 Or limiter > 100
Next
removeOrdinals = bufReturn
End Function