如何通过c#检测字符串中的阿拉伯语或波斯语字符?

时间:2017-08-30 13:35:09

标签: c#

我想在字符串中检测阿拉伯语波斯语字符。

例如:

在string = "مشخصات، قیمت و خرید لپ تاپ 15 اینچی ایسر مدل Aspire ES1-533-C4UH"

中搜索

并返回true

并搜索字符串= "Aspire ES1-533-C4UH"

并返回false

string pattern = @"^[\p{IsArabic}\s\p{N}]+$";
string input = @"مشخصات، قیمت و خرید لپ تاپ 15 اینچی ایسر مدل Aspire ES1-533-C4UH";
RegexOptions options = RegexOptions.RightToLeft;"

foreach (Match m in Regex.Matches(input, pattern, options))
{
    if(m.Value !="")
    {
        bool x=true;
    }
    else
        x=false;
}

但这不起作用。

1 个答案:

答案 0 :(得分:6)

尝试使用它(我使用它并且它有效)。

Regex接受UTF范围内的所有阿拉伯字母。

Regex regex = new Regex("[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]");
return regex.IsMatch(text);