3

ラテン文字以外の文字を含むすべてのファイル名を、ランダムな一意のラテン文字列に変更したいと考えています。しかし、元のファイル名に非ラテン文字が含まれていることをどのように検出できますか?

編集

非ラテン文字は、中国語、日本語、韓国語、アラビア語、ウムラウトなどの文字です。

4

1 に答える 1

8

正規表現を使用できます:

if(Regex.IsMatch(input, "[^a-zA-Z]"))
{
    // non-latin found
}

atozおよびAtoとは異なるすべての文字に対して機能しZます。

数字も許可する場合は、次を使用します[^a-zA-Z0-9]

非正規表現ソリューション

string以下を実装しているため、LINQ も使用できますIEnumerable<char>

if(input.ToLower().Any(c => c <= 'a' || c >= 'z'))
{
    // non-latin found
}
于 2013-11-09T02:10:40.263 に答える