我想将所有包含非拉丁字符的文件名更改为随机的唯一拉丁字符串。但是如何检测原始文件名中是否存在非拉丁字符?
编辑
非拉丁字符可能是中文、日文、韩文、阿拉伯文、元音变音等字符。
最佳答案
你可以使用正则表达式:
if(Regex.IsMatch(input, "[^a-zA-Z]"))
{
// non-latin found
}
它适用于所有不同于 a
的字母至 z
和 A
至 Z
.
如果您也想允许数字,请使用以下内容:[^a-zA-Z0-9]
.
非正则表达式解决方案
您也可以使用 LINQ,因为 string
工具 IEnumerable<char>
:
if(input.ToLower().Any(c => c <= 'a' || c >= 'z'))
{
// non-latin found
}
关于c# - 如何检测字符串中是否存在非拉丁字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19871564/