ラテン文字以外の文字を含むすべてのファイル名を、ランダムな一意のラテン文字列に変更したいと考えています。しかし、元のファイル名に非ラテン文字が含まれていることをどのように検出できますか?
編集
非ラテン文字は、中国語、日本語、韓国語、アラビア語、ウムラウトなどの文字です。
ラテン文字以外の文字を含むすべてのファイル名を、ランダムな一意のラテン文字列に変更したいと考えています。しかし、元のファイル名に非ラテン文字が含まれていることをどのように検出できますか?
非ラテン文字は、中国語、日本語、韓国語、アラビア語、ウムラウトなどの文字です。
正規表現を使用できます:
if(Regex.IsMatch(input, "[^a-zA-Z]"))
{
// non-latin found
}
a
toz
およびA
toとは異なるすべての文字に対して機能しZ
ます。
数字も許可する場合は、次を使用します[^a-zA-Z0-9]
。
非正規表現ソリューション
string
以下を実装しているため、LINQ も使用できますIEnumerable<char>
。
if(input.ToLower().Any(c => c <= 'a' || c >= 'z'))
{
// non-latin found
}