VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -