Stuart McLachlan
stuart at lexacorp.com.pg
Thu Apr 10 18:42:05 CDT 2003
On 10 Apr 2003 at 15:07, Drew Wutka wrote:
> if IsNumeric(mid(strOriginal,i,1)) Or _
> (Asc(mid(UCase(strOriginal),i,1))>=65 And _
> Asc(mid(UCase(strOriginal),i,1))<=90) Then
If you are using it on a lot of records, it would probably be worth optimizing it with:
Dim strChar As String
Dim lngAsc As Long
......
strChar = Mid$(strOriginal, i, 1)
lngAsc = Asc(UCASE$(strChar))
If IsNumeric(strChar) Or (lngAsc >= 65 And lngAsc <= 90) Then
strTemp=strTemp & strChar
....
The Mid() and Ucase() functions return a variant, the Mid$() and Ucase$() functions
return a string which is quicker to manipuate subsequentlty.
Evaluating Mid$() once and then using a defined string for subsequent operations will
also shave time.
Actually, I suspect this would be even quicker:
Dim strUnwanted as String
......
strwanted =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
.......
strChar = Mid$(strOriginal, i, 1)
If Instr(strWanted,StrChar) Then strTemp=strTemp & strChar
--
Lexacorp Ltd
http://www.lexacorp.com.pg
Information Technology Consultancy, Software Development,System Support.