如何从阿拉伯语文本中提取阿拉伯语表达?

时间:2014-02-26 21:17:20

标签: c# winforms arabic

我有一个项目,我必须从阿拉伯文本中提取阿拉伯语令牌 我怎样才能从文本中提取这些标记。 使用下面的代码我浏览文件并在文本框中显示它,我想从文件中提取令牌。

private void button1_Click(object sender, EventArgs e)
{
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        stropen = openFileDialog1.FileName;
        textBox1.Text = System.IO.File.ReadAllText(stropen);

    }
}

更新

让我解释一下这个问题。我有一个阿拉伯语文本,如下文所示。 الحمدللهالذیعلافیتوحدهودنافیتفردهوجلفیسلطانهوعظمفیأرکانه,وأحاطبکلشیءعلماوهوفیمکانه,وقهرجمیعالخلقبقدرتهوبرهانه,حمیدالمیزل,محمودالایزالومجیدالایزول,ومبدئاومعیداوکلأمرإلیهیعود 。在我的程序中,我在文本框中显示文本。我想测量文本并找到像“ل”。不是“ل”的标记,但在它上方的标记。我是c#的初学者。谢谢你。

2 个答案:

答案 0 :(得分:0)

“extract”是什么意思并不十分清楚,但假设文件中的文本是unicode编码的,你基本上只是提取令牌,就像提取任何令牌一样。

例如,您可以使用各种String方法,包括搜索特定子字符串的String.IndexOf。您还可以使用regular expressions来设计“提取令牌”。

如果您的文字文件未经过unicode编码,则必须使用接受Encoding的{​​{3}}。

答案 1 :(得分:0)

我不知道阿拉伯文字,但也许您可以根据以下内容尝试:

您可以使用简单的foreach循环遍历字符串中的所有字符。然后,您可以检查该角色的“Unicode类别”(请参阅​​MSDN)。如果我理解正确,您需要“NonSpacingMark”类别。

一些示例代码:

string s = " وَجَلَّ فی ";
foreach (char c in s)
{
    Console.Write(c);
    Console.WriteLine(Char.GetUnicodeCategory(c));
}