- PR -

括弧の空白を詰めるには

1
投稿者投稿内容
未記入
会議室デビュー日: 2006/06/02
投稿数: 11
投稿日時: 2006-12-14 23:09
括弧の空白を詰めたいのですが
コード:

str = Regex::Replace(str, "\\( *", "\\("); // ( の右側の空白を詰める
str = Regex::Replace(str, " *\\)", "\\)"); // ) の左側の空白を詰める

こうするとコンパイルで警告は出ないのですが結果が
\(\)このようになります

str = Regex::Replace(str, "\\( *", "\("); // ( の右側の空白を詰める
str = Regex::Replace(str, " *\\)", "\)"); // ) の左側の空白を詰める


こうすると期待通りの結果で
()こうなるのですが
warning C4129: '(' : エスケープ シーケンスとして正しく認識されませんでした。
コンパイルの警告も出さず、結果を出すにはどの様な書き方をしたら良いでしょうか。
ご教示お願いします。


[ メッセージ編集済み 編集者: 未記入 編集日時 2006-12-14 23:11 ]

[ メッセージ編集済み 編集者: 未記入 編集日時 2006-12-14 23:12 ]

[ メッセージ編集済み 編集者: 未記入 編集日時 2006-12-14 23:13 ]
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2006-12-14 23:30
置換後の文字列はパターン文字列と違ってエスケープする必要がないのでは?

つまり
コード:

str = Regex::Replace(str, "\\( *", "(");
str = Regex::Replace(str, " *\\)", ")");



[ メッセージ編集済み 編集者: Blue 編集日時 2006-12-14 23:31 ]
未記入
会議室デビュー日: 2006/06/02
投稿数: 11
投稿日時: 2006-12-14 23:43
Blueさんご教示ありがとうございます。
上手くできました。
1

スキルアップ/キャリアアップ(JOB@IT)