投稿日 | : 2004/06/01(Tue) 09:07 |
投稿者 | : LESIA |
Eメール | : |
URL | : |
タイトル | : Re^2: 英数字以外の削除の仕方 |
文字列の連結は遅いので、置き換えるようにするともっと速くなります。
私のマシンでは花ちゃんの方法でも5秒くたい掛かりましたが、この方法だと0.5秒に
なりました(^^)
Private Sub Command2_Click()
Dim lngStartTime As Long
Dim strOneLineDat As String
Dim strTemp As String
Dim intLoop As Integer
Dim intAsc As Integer
Dim dat As String
Dim i As Integer
Dim n As Integer
strOneLineDat = "aAcd-0324-PあOI*POいL\AA"
lngStartTime = timeGetTime
strTemp = Space$(Len(strOneLineDat))
For i = 1 To 10000
n = 1
For intLoop = 1 To Len(strOneLineDat)
dat = Mid$(strOneLineDat, intLoop, 1)
intAsc = Asc(dat)
If (intAsc >= 97 And intAsc <= 122) _
Or (intAsc >= 65 And intAsc <= 90) _
Or (intAsc >= 48 And intAsc <= 57) Then
Mid$(strTemp, n, 1) = dat
n = n + 1
End If
Next intLoop
Next i
strOneLineDat = Left$(strTemp, n)
Label2.Caption = "timeGetTime : " & (timeGetTime - lngStartTime) / 1000
End Sub