aliahmadi
پنج شنبه 31 خرداد 1397, 17:04 عصر
سلام.
میخوام در یک متن یک کلمه رو جستجو کنم و کلمهای دیگه به جاش جایگزین کنم. مثلاً میخوام به جای کلمۀ «دیوار» کلمۀ «در» رو جایگزین کنم. این مسأله خیلی ساده به نظر میرسه ولی وقتی از replace رشته در سیشارپ استفاده میکنم، اگر «دیوارها» رو پیدا کنه تبدیل به «درها» میکنه و این مطلوب نیست. طبیعتاً برای حل این مشکل باید به جای «%دیوار%» دنبال دیوار با دو طرف کلمه space بگردم ولی مشکل اینجاست که ممکنه بعد یا قبل از «دیوار» بلافصله کاراکترهای ویژه مثل نقطه یا ویرگول باشد و غیره باشد که این باعث میشه که این حالت رو پیدا نکنه.
چه کار میشه کرد؟ آیا استفاده از RegEx کمک میکنه؟ اگر بله چطور؟
میخوام در یک متن یک کلمه رو جستجو کنم و کلمهای دیگه به جاش جایگزین کنم. مثلاً میخوام به جای کلمۀ «دیوار» کلمۀ «در» رو جایگزین کنم. این مسأله خیلی ساده به نظر میرسه ولی وقتی از replace رشته در سیشارپ استفاده میکنم، اگر «دیوارها» رو پیدا کنه تبدیل به «درها» میکنه و این مطلوب نیست. طبیعتاً برای حل این مشکل باید به جای «%دیوار%» دنبال دیوار با دو طرف کلمه space بگردم ولی مشکل اینجاست که ممکنه بعد یا قبل از «دیوار» بلافصله کاراکترهای ویژه مثل نقطه یا ویرگول باشد و غیره باشد که این باعث میشه که این حالت رو پیدا نکنه.
چه کار میشه کرد؟ آیا استفاده از RegEx کمک میکنه؟ اگر بله چطور؟