我允许用户选择他想要的任何用户名,它可以是任何东西,如
AC?¿!$"Man'@
Run Code Online (Sandbox Code Playgroud)
现在我需要为他创建一个目录.我用什么函数来逃避文本,所以我没有FS问题/异常?
Jac*_*cob 10
无论是替换无效字符还是删除它们,总会有碰撞的可能性.如果我是你,我将为用户提供一个单独的主键(可能是一个GUID),并将其用于目录名称.这样,您就可以拥有自己想要的任何用户名,而无需担心无效的目录名称.
根据您的字符是ASCII/Unicode,您可以使用字节/字符值作为替换,并使用一些字符来标记这些替换的字符(如下划线),给你类似的东西_001_255_200ValidPart_095_253.请注意,您还必须替换标记字符(_095在示例中,95是下划线的ASCII代码).
使用Path.GetInvalidFileNameChars或Path.GetInvalidPathChars检查要删除的字符。
http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidfilenamechars.aspx
| 归档时间: |
|
| 查看次数: |
5421 次 |
| 最近记录: |