PDA

View Full Version : سوال: شناسایی کلمات فارسی در متن



niloofar13
یک شنبه 06 مهر 1393, 08:55 صبح
سلام من در برنامم در دیتابیس حروف اضافه فارسی مثل این را ذخیره کردم و سپس در متن دریافتی از کاربر این حروف اضافه با کمک عبارات باقاعده تشخیص داده می شوند. الان مشکلی که هست این است که در بعضی از متون این کلمات را نمی تواند تشخیص دهد. در برنامه قبل از شروع جستجو ی عربی به فارسی و ک عربی به فارسی تبدیل شده اند ولی در شناسایی مشکل دارد و مثلا کلمه "این " در متن است ولی تشخیص داده نمی شود. کد زیر کد تبدیل حروف عربی به فارسی برای یکسان سازی است.
matn = matn.Replace('\u064A', '\u06CC');
matn = matn.Replace('\uFEF2', '\uFEF0');
matn = matn.Replace('\u0649', '\u06CC');
matn = matn.Replace('\u0620', '\u06CC');


matn = matn.Replace('\uFEF1', '\u06CC');

matn = matn.Replace('\u0643', '\u06A9');

matn = matn.Replace('ﺔ', 'ﻪ');
matn = matn.Replace('ة', 'ه');


کد زیر هم عمل جستجو را انجام می دهد:
for (int i = 0, len = dm.prep .Count; i < len; i++)
{

matn = Regex.Replace(matn, @"\b"+dm.prep[i]+@"\b", "#");

}


ممنون میشم راهنمایی ام کنید که مشکل از کجاست؟