dポイントプレゼントキャンペーン実施中!

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

A 回答 (2件)

> Return Strings.StrConv(M.Value, VbStrConv.Wide)


では、変換できないそうです。

「[Info] Microsoft.VisualBasic.StrConv 関数で半角の "\" が変換されない」
http://support.microsoft.com/kb/916603/ja
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/12/05 16:21

ちょっとめんどくさいけど、


Replace関数で置き換えてみたらどうでしょう?
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/12/05 16:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!