string text = textBox1.Text;
byte[] bytes = Encoding.UTF8.GetBytes(text);
text = Encoding.UTF8.GetString(bytes);
string my_String = (Regex.Replace(text, @"[\xd8\x80|[\xdb\xbf]|[\xdc\x80\\xdf\xbf]|[\xe0\xa0\x80\\xe0\xa3\xbf]|[^0-9a-zA-Z\._-]]", ""));
textBox2.Text = my_String;
答案 0 :(得分:2)
这样做。
string my_String = Regex.Replace(text, @"[^\u0600-\u06FF]+", "");
这将匹配除阿拉伯语单词之外的所有内容(在\u0600-\u06FF
范围内)。并用""
替换它们。我刚从评论中注意到你不需要数字,所以我将其删除了。
通过特殊的角色,你的意思是不要把它放在这种模式中。所以只要把你想要的东西。其他角色被认为是特殊角色。
答案 1 :(得分:2)
您可以negative Unicode category使用named block,这只会留下阿拉伯语符号:
string myString = Regex.Replace(text, @"\P{IsArabic}", "");