ここから本文です

vb.netで、ダブルクォーテーションを他の文字に置き換えたく、「string = string.R...

q_m********さん

2008/5/2101:45:19

vb.netで、ダブルクォーテーションを他の文字に置き換えたく、「string = string.Replace(""", "a")」のようなコードを書きました。

しかし、ダブルクォーテーションは元々文字を囲うのに使う記号のため、ダブルクォーテーションを3つ続けるとエラーになってしまいます。解決方法を教えてください。

閲覧数:
31,910
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

ttk********さん

2008/5/2111:17:31

回答出ていますが補足します。

String.Replace には2種類のオーバーロードがあります。
第1引数が String なら第2引数も String になりますし、
第1引数が Char なら第2引数も Char になります。
このケースは1文字を1文字に置換したいのですから、
Char を使うオーバーロードの方がよさそうです。
VB.NET では c をつけると Char リテラルとみなされますので、
以下のように書けばよいと思います。

String.Replace(ControlChars.Quote, "a"c)

または、

String.Replace(""""c, "a"c)


String を使うオーバーロードを使って

String.Replace("""", "a")

でも大丈夫ですが、おそらく Char の方が
パフォーマンスに優れると思います。

質問した人からのコメント

2008/5/21 23:05:29

解決しました。 ありがとうございます。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

cho********さん

2008/5/2108:09:41

.NET なら ControlChars モジュールを使うことも出来ます。
ダブルクォーテーションなら
ControlChars.Quote
ほかにも
改行
ControlChars.CrLf
タブ文字
ControlChars.Tab
などがあります。

jos********さん

編集あり2008/5/2103:02:23

"""" (ダブルクオート 4つ) は試したぁ? VB.NET は分からないけど、VBA だとこれでいけるよぉ。それでダメなら 「Chr (34)」 って書いたらいいよぉ。

──────────────────────────────
リンク
『VBAで「"」を表記するにはどうすれば?』 - Yahoo! Japan 知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1316499163

「Chr関数、ChrW関数」 - msdn, Microsoft Corp.
http://msdn.microsoft.com/ja-jp/library/613dxh46.aspx

キーワード
VB.NET, Visual Basic.NET, ダブルクオート, ダブルクォート, ダブルクオーテーション, ダブルクォーテーション, エスケープ, 引用符, 二重引用符, """, リテラル, 自身, 表現, 記述, 記法, 書き方

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる