6
我想检测阿拉伯语或波斯字符串中的字符。如何通过c#检测字符串中的阿拉伯或波斯字符?
例如:
在字符串搜索= "مشخصات، قیمت و خرید لپ تاپ 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;
}
但这不起作用。
另外'[ء-ي] +'为阿拉伯语,但解释几句话可以帮助... –
如果你有使用Unicode块的经验只是好奇,如果这是好还是坏?例如'\ p {IsArabic}'https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/character-classes-in-regular-expressions#SupportedNamedBlocks – BurnsBA
+1。另请参阅[this](https://stackoverflow.com/a/11323651/21567)以获得更多信息(尽管它是Javascript)。 –