我有一个项目,我必须从阿拉伯文本中提取阿拉伯语令牌 我怎样才能从文本中提取这些标记。 使用下面的代码我浏览文件并在文本框中显示它,我想从文件中提取令牌。
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
stropen = openFileDialog1.FileName;
textBox1.Text = System.IO.File.ReadAllText(stropen);
}
}
更新
让我解释一下这个问题。我有一个阿拉伯语文本,如下文所示。 الحمدللهالذیعلافیتوحدهودنافیتفردهوجلفیسلطانهوعظمفیأرکانه,وأحاطبکلشیءعلماوهوفیمکانه,وقهرجمیعالخلقبقدرتهوبرهانه,حمیدالمیزل,محمودالایزالومجیدالایزول,ومبدئاومعیداوکلأمرإلیهیعود 。在我的程序中,我在文本框中显示文本。我想测量文本并找到像“ل”。不是“ل”的标记,但在它上方的标记。我是c#的初学者。谢谢你。
答案 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));
}