我已经写了这个小方法来实现subj中的目标,但是,有更高效(更简单)的方法吗?我希望这可以帮助那些像我一样搜索这个的人.
var fileName = new System.Text.StringBuilder();
fileName.Append("*Bad/\ :, Filename,? ");
// get rid of invalid chars
while (fileName.ToString().IndexOfAny(System.IO.Path.GetInvalidFileNameChars()) > -1)
{
fileName = fileName.Remove(fileName.ToString().IndexOfAny(System.IO.Path.GetInvalidFileNameChars()), 1);
}
Run Code Online (Sandbox Code Playgroud)
?
Cer*_*res 96
我知道这已经有几年了,但这是另一个可供参考的解决方案.
public string GetSafeFilename(string filename)
{
return string.Join("_", filename.Split(Path.GetInvalidFileNameChars()));
}
Run Code Online (Sandbox Code Playgroud)
Jar*_*Par 15
请尝试以下方法
public string MakeValidFileName(string name) {
var builder = new StringBuilder();
var invalid = System.IO.Path.GetInvalidFileNameChars();
foreach ( var cur in name ) {
if ( !invalid.Contains(cur) ) {
builder.Append(cur);
}
}
return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)
Rol*_*aer 13
一种与.NET 4兼容的不同方法.请参阅上面的解释需求的评论.
public static string ScrubFileName(string value)
{
var sb = new StringBuilder(value);
foreach (char item in Path.GetInvalidFileNameChars())
{
sb.Replace(item.ToString(), "");
}
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21872 次 |
| 最近记录: |