
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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
各項目がダブルクォーテーショ...
-
Eclipse 改行後のタブ
-
VBA 置換文字がみつからない時
-
csvデータ ダブルクォーテ...
-
○文字目に文字挿入
-
EXCEL警告「置換対象のデータが...
-
EXCELマクロを用いてグラフの系...
-
対称群はなぜそう呼ばれるので...
-
c# ビルド直前にコードを置換で...
-
C#で空白行を削除する方法
-
csvデータのダブルクォーテーシ...
-
PowerShellでテキストの空白行...
-
VBscriptで「改行」と「"」を置...
-
秀丸の正規表現を使って置換
-
Excel・ユーザーフォームの情報...
-
EXCEL VBA でCTRL+Fのダイア...
-
ハングルを日本語に置換
-
【至急!!!!!】ランダム桁数を正...
-
正規表現で置換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
正規表現で、特定の文字列を含...
-
csvデータ ダブルクォーテ...
-
各項目がダブルクォーテーショ...
-
Excel VBA リストに一致したデ...
-
スペースで区切られた氏名から...
-
秀丸エディタで、「-」や「ー」...
-
EXCELマクロを用いてグラフの系...
-
csvデータのダブルクォーテーシ...
-
C#で空白行を削除する方法
-
EXCEL警告「置換対象のデータが...
-
xmlファイル内の文字列置換
-
正規表現 特定の文字列を含む行...
-
テキストボックスの文字列を置...
-
○文字目に文字挿入
-
C言語でテキストファイルの内容...
-
複数のパワーポイントファイル...
-
c# ビルド直前にコードを置換で...
-
Excel・ユーザーフォームの情報...
-
\\(円)記号を置換したい
おすすめ情報
回答有難うございます。
置換するのはエクセルのセルに入力された文字列です。
CSVではありません。
>ダブルクォーテーションの中にエスケープされたダブルクォーテーションが来る場合
これはありません。
例として
aaa bbb "aaa bbb" ccc "ddd eee" これを aaa,bbb,"aaa bbb",ccc,"ddd,eee"
このように置換したいと言うことです。
前回の補足の例ですが、最後の""の中のコンマは間違いです。
再びの回答ありがとうございます。
無事にうまくいきました。
有難うございます。