2
如果文件名有其他字符,那麼這個[email protected]$%^&*()_+=-[]{}';,.
我們必須用某些字符替換它們或刪除它們。用於驗證文件名的正則表達式
如果文件名有其他字符,那麼這個[email protected]$%^&*()_+=-[]{}';,.
我們必須用某些字符替換它們或刪除它們。用於驗證文件名的正則表達式
resultString = Regex.Replace(subjectString, @"[^[email protected]$%^&*()_+=[\]{}';,.-]", "X");
應該這樣做。
說明:我複製了您的字符列表並將其粘貼到negated character class([^...]
)中。我只需進行兩項小修改:轉義右括號(\]
)並將短劃線放在字符串的末尾。
using System.Linq;
using System.IO;
string path = ...;
IEnumerable<char> invalidChars = Enumerable.Concat(
Path.GetInvalidFileNameChars(),
Path.GetInvalidPathChars());
foreach (char c in invalidChars)
{
path = path.Replace(c, ''); // or any char you want
}
+1用於指定Path.GetInvalid [FileName | Path] Chars() – SolidRegardless 2012-11-08 10:25:00