工作中碰到的一个问题.
控件的标签对应的是文件名, 如何有效过滤用户输入的内容, 以保证文件名符合规则呢?
.NET平台果然够强大, 拥有两个静态方法, 分别代表在路径和文件名里禁止使用的字符数组. Path.GetInvalidPathChars()
Path.GetInvalidFileNameChars()
之后我第一个想到的是字符串的Replace()方法: "123#4".Replace("#", "")
可是对于Replace(oldChar, newChar)这种重载的使用, 却碰到了一些问题.str.Replace(\'#\', \'\')
str.Replace(\'#\', Char.MinValue)
两个都不行.
那就把字符数组转换成字符串数组吧
1 | let cleanFileName str = |
虽然说问题能够得到解决, 但总觉得有点缺憾, 接下来我想到了String.Split()
方法, 此方法不正是需要Char[]
这样的参数么?
1 | let cleanFileName (str :string) = |