![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- 高校 変数置き換えにつきまして 6 2022/05/01 16:44
- Windows 10 Windowsのバッチファイルで正規表現の置換方法について… 4 2022/12/09 16:00
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- Excel(エクセル) Excelで、半角スペースをTABに変換する 5 2022/10/18 14:18
- PHP PHP・Wordpress preg_replaceを条件分岐で処理させる方法が知りたい 1 2023/05/01 14:25
- フリーソフト サクラエディタの正規表現(grep機能)の使い方 3 2022/06/22 10:29
- Java コンソールから所属財産を入力(単位:万円 1000~100000以内でIntegerに変換できない場 2 2022/05/31 21:32
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python 大文字小文字を区別しな...
-
スペースで区切られた氏名から...
-
正規表現で、特定の文字列を含...
-
\\(円)記号を置換したい
-
正規表現で置換
-
PowerShellでテキストの空白行...
-
対称群はなぜそう呼ばれるので...
-
ハイフンの削除
-
Dream Weaver で
-
正規表現 特定の文字列を含む行...
-
EXCELマクロを用いてグラフの系...
-
○文字目に文字挿入
-
各項目がダブルクォーテーショ...
-
xmlファイル内の文字列置換
-
vbsで図形内テキストの置換方法
-
JSP内の正規表現で、行先頭の/...
-
秀丸で、正規表現キャプチャを...
-
TeraPadエディターの操作方法に...
-
秀丸の正規表現について
-
Perlでの文字列置換に関して
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GoogleAppsScript文字列置換の...
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
正規表現で、特定の文字列を含...
-
csvデータ ダブルクォーテ...
-
EXCEL警告「置換対象のデータが...
-
EXCEL VBA でCTRL+Fのダイア...
-
C言語でテキストファイルの内容...
-
スペースで区切られた氏名から...
-
csvデータのダブルクォーテーシ...
-
PowerShellでテキストの空白行...
-
\\(円)記号を置換したい
-
C#で空白行を削除する方法
-
【Excel VBA】文字列の置換作業...
-
python 大文字小文字を区別しな...
-
テキストファイル中の文字列の置換
-
Excel VBA 教えてください。 VB...
-
ハングルを日本語に置換
-
ダブルコーテーション 、"を二...
-
○文字目に文字挿入
おすすめ情報
回答有難うございます。
置換するのはエクセルのセルに入力された文字列です。
CSVではありません。
>ダブルクォーテーションの中にエスケープされたダブルクォーテーションが来る場合
これはありません。
例として
aaa bbb "aaa bbb" ccc "ddd eee" これを aaa,bbb,"aaa bbb",ccc,"ddd,eee"
このように置換したいと言うことです。
前回の補足の例ですが、最後の""の中のコンマは間違いです。
再びの回答ありがとうございます。
無事にうまくいきました。
有難うございます。