• ベストアンサー

\(円)記号を置換したい

Windowsのファイル名に使用禁止文字(\:/*?"<>|)を全角に置換しようと思い、下記のコードを書いてみたのですが、「\」だけが全角に置換されません。 どうしたら、「\」も全角に置換できるでしょうか? よろしくお願いいたします。 Private Function ReplaceZenkaku(ByVal fileName As String) As String     Dim ignoreString As Regex = New Regex("[\\:\/\*\?""<>\|]")     Return ignoreString.Replace(fileName, New MatchEvaluator(AddressOf ReplaceKigou)) End Function Private Function ReplaceKigou(ByVal M As Match) As String     Return Strings.StrConv(M.Value, VbStrConv.Wide) End Function

質問者が選んだベストアンサー

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

> Return Strings.StrConv(M.Value, VbStrConv.Wide) では、変換できないそうです。 「[Info] Microsoft.VisualBasic.StrConv 関数で半角の "\" が変換されない」 (http://support.microsoft.com/kb/916603/ja

hys884
質問者

お礼

ありがとうございました。 "\" はReplaceメソッドを利用しないといけないんですね。

その他の回答 (1)

回答No.2

ちょっとめんどくさいけど、 Replace関数で置き換えてみたらどうでしょう?

hys884
質問者

お礼

ありがとうございました。 ReplaceKigouの中で"\"の時はReplaceで全角¥に置換するようにしました。