2011年6月27日月曜日

→→→いらない文字を詰める処理

文字列の中で<p>~</p>の間の集まりを削除したいときの処理


in:"あいう<p>削除したい文字列</p>えお<p>削除したい文字列</p>かきくけこ" 
                
out:"あいうえおかきくけこ"   (青文字のところをカットする)

Private Function Reverse(ByRef data As String)
      Dim k, l, m, n, p As Integer
      Dim han() As String
      Dim answer As String = ""
      Dim x, y As String
      Dim r As Intger = 0
     k = Microsoft.VisualBasic.Len(data)
      If  k = 0  Then
          Exit Function
      End If
      l = k - 1
      ReDim han(l)
   
      For j = 0 to k - 1
          han(j) = data.SubString(j , 1)
          If  ( k - 1 ) - 3 >=  j  Then
              x = data.SubString( j , 3 )
          Else
              x = data.SubString( j , 1 )
          End If
          n = StrComp( x , "<p>" )
          '******************************
          If  ( k - 1 ) - 4 >= j Then
             y = data.SubString( j , 4 )
          Else
             y = data.SubString( j , 1 )
          End If
          m = StrComp( y , "</p>")
          '******************************
          If  r = 0 Then
             If  n = 0  Then
                    p = 1
            End If
         Else
                    p = 0
                    r = 0
               If   n = 0  Then
                       p = 1
               End If
         End If
         '********************************
         If p = 1  Then
                  han(j) = ""
         Else
                  answer  =  String.Concat(han)
         End If
         If  m = 0 Then
              r = 1
              j += 3
         End If
    Next
         data = answer
         return 0
 End Function

   

0 件のコメント:

コメントを投稿