سلام دوستان
راه حلهایی که گذاشتین جالب هستن اما یه راه حل مشابه و ساده دیگه هم هست که این زیر براتون می نویسم. اون هم استفاده از تابع Replace مربوط به Stringها میشه:
شما کافی که یک تابع استاتیک توی یک کلاس عمومی برای خودتون تعریف بکنید که وظیفش اجرای همین تبیدل باشه.
public static string ConvertIt(string str)
{
return str.Replace('ﻱ', 'ی').Replace('ﻚ', 'ک');
}
این تابع هم ی و هم ک رو براتون تبدیل میکنه، ممکنه بعضی از دوستان بگن که خوب الان یک مشکل جدید پیش میاد که هی باید این تابع رو اجرا بکنیم.
در جواب باید بگم که فرض کنید بخشی از اطلاعات ورودی از طریق Copy و Paste وارد فرمها بشه، به این ترتیب شما کنترلی روی متن کپی شده با روشهای قبلی نخواهیم داشت.
دوستانی که حرفه ای تر هستند می تونن از Extentionها هم برای افزودن این تابع به خود کلاس String استفاده بکنن و کارشون بسیار ساده تر بشه.
اما تا همین جاش هم میتونه بسیار مفید و عالی باشه
یک توضیح کوچیک دیگه هم بدم که باید این نکته رو تو ذهن داشته باشید که تعداد (ی)ها و (ک)ها بیشتر اینهاست که ما فکر میکنیم. برای اینکه بدونید چندین (ی) و (ک) وجود داره برید توی Microsoft Word و از بخش Insert قسمت Symbol رو انتخاب کنید. حالا توی لیست کاراکترها که براتون نشون داده میشه ببینید که تعداد زیادی (ی) و (ک) داریم که من سه، چهار موردش رو توی متنهای مختلف دیدم که وجود داشته و برای Parse کردن و جستجو توشون به چنین مشکلاتی بر خورده بودیم.