|
▼ごん さん、かみちゃんさん、おはようございます。
>エクセルで文字列"AA,BB,RR,,,,AA,BB,CC,DD,,,QQ,DD,FF”のデータ
>があるとしてこれの余分なカンマをとって、CSVとして扱いたいのですが
>
>strTEXTDATA=Replace(strTEXTDATA,",,",",")
正規表現を使った別解です。
'=================================================
Sub test()
Dim cnvstr As String
cnvstr = "AA,BB,RR,,,,AA,BB,CC,DD,,,QQ,DD,FF"
MsgBox cnvstr & vbCrLf & Space(Len(cnvstr) / 2) & "↓" & _
vbCrLf & repeat_Reduct(cnvstr, ",")
End Sub
'=====================================================================
Function repeat_Reduct(f_str As String, r_str As String) As String
Dim regEx
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = r_str & "+"
regEx.IgnoreCase = True
regEx.Global = True
repeat_Reduct = regEx.Replace(f_str, r_str)
Set regEx = Nothing
End Function
確認してみて下さい。
|
|