- 日時: 2011/04/05 13:16
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[文字列処理][アルゴリズム][基本コード] * * キーワード:高速化,検索,文字列の連結,置換え,配列処理, * ***********************************************************************************
----------------------------------------------------------------- Re^2: 英数字以外の削除の仕方 - LESIA 2004/06/01-09:07 No.9109 ----------------------------------------------------------------- 文字列の連結は遅いので、置き換えるようにするともっと速くなります。 私のマシンでは花ちゃんの方法でも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
|