
No.3ベストアンサー
- 回答日時:
こんにちは。
条件
>スペース(半角)を,(コンマ)に置換する。
>ただし"(ダブルコーティション)で囲まれた部分のスペースは置換しない。
私は、CSVを意識していたものだと思ったら違うようですね。
一応組み込みするために、ユーザー定義関数にしてしまいました。(現在は、RegExp オブジェクトは、中に入れたままですが、本来は、外に出して使うつもりでした)
>aaa bbb "aaa bbb" ccc "ddd eee" これを aaa,bbb,"aaa bbb",ccc,"ddd,eee"
でも、これだったら、違ってしまいましたね。(^^;
私のは、こうなります。
aaa,bbb,"aaa bbb",ccc,"ddd eee" 最後が違います。
目視では、とても不可能なものでも、こうなります。
12"3" "1" "5 6" " B45"7 89a ->,12"3","1","5 6"," B45"7,89a
'//
Function RegReplace(ByVal inText As String)
Dim RegEx As Object
Dim Ms, m, i As Long
Dim buf As String
Set RegEx = CreateObject("VBScript.RegExp")
With RegEx
.Global = True: .IgnoreCase = True
.Pattern = "(""[^""]+!?"")"
End With
buf = inText
buf = Replace(buf, Space(1), Space(1), , , vbTextCompare)
Set Ms = RegEx.Execute(inText)
For i = 0 To Ms.Count - 1
buf = Replace(buf, Ms(i), "#" & i, , 1, vbBinaryCompare)
Next
buf = Replace(buf, Space(1), ",", , , vbBinaryCompare)
For i = 0 To Ms.Count - 1
buf = Replace(buf, "#" & i, Ms(i), , 1, vbBinaryCompare)
Next
RegReplace = buf
End Function
No.2
- 回答日時:
>aaa bbb "aaa bbb" ccc "ddd eee" これを aaa,bbb,"aaa bbb",ccc,"ddd,eee"
aaa,bbb,"aaa bbb",ccc,"ddd eee"
じゃないの?
No.1
- 回答日時:
おそらく全てのパターンをチェックするのは困難です
ダブルクォーテーションの中にエスケープされたダブルクォーテーションが来る場合だってあるでしょう
またCSVの場合ダブルクォーテーションを二重につかって文字列と認識させたり色々あります
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
ハングルを日本語に置換
-
各項目がダブルクォーテーショ...
-
正規表現で、特定の文字列を含...
-
Excel・ユーザーフォームの情報...
-
正規表現 特定の文字列を含む行...
-
フォントの色を保持したままセ...
-
Excel VBA 教えてください。 VB...
-
C言語でテキストファイルの内容...
-
テキストファイル中の文字列の置換
-
C#で空白行を削除する方法
-
住所編集のマクロを組んでいて...
-
秀丸エディタで、「-」や「ー」...
-
HTMLタグ内の文字の置き換え
-
word VBA 改ページの繰り返しに...
-
EXCEL VBA でCTRL+Fのダイア...
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
IEからEdgeへの移行に伴うIMEの...
-
住宅にカナを入力する際に丁目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
○文字目に文字挿入
-
csvデータ ダブルクォーテ...
-
C#で空白行を削除する方法
-
Excel・ユーザーフォームの情報...
-
csvデータのダブルクォーテーシ...
-
秀丸エディタで、「-」や「ー」...
-
フォントの色を保持したままセ...
-
Excel VBA 教えてください。 VB...
-
EXCEL警告「置換対象のデータが...
-
スペースで区切られた氏名から...
-
Eclipse 改行後のタブ
-
Excel VBA リストに一致したデ...
-
テキストボックスの文字列を置...
-
xmlファイル内の文字列置換
-
複数のパワーポイントファイル...
-
特定の列のみ置換を行いたい
-
ハングルを日本語に置換
おすすめ情報
回答有難うございます。
置換するのはエクセルのセルに入力された文字列です。
CSVではありません。
>ダブルクォーテーションの中にエスケープされたダブルクォーテーションが来る場合
これはありません。
例として
aaa bbb "aaa bbb" ccc "ddd eee" これを aaa,bbb,"aaa bbb",ccc,"ddd,eee"
このように置換したいと言うことです。
前回の補足の例ですが、最後の""の中のコンマは間違いです。
再びの回答ありがとうございます。
無事にうまくいきました。
有難うございます。