C # text.Replace الحفاظ على حالة
سؤال
وأنا أعمل على بوت ويكي لبلدي المجتمعات يكي يستخدم الإطار DotNetWikiBot. ذلك هو العثور على الكلمة التي هي عادة الخطأ المطبعي (مثل "أبيلتي")، ويحل محل لهم مع التصحيح (مثل "القدرة").
وهذا يعمل كما هو ترميز:
p.text = p.text.Replace(@"\b" + typoArray[x, 0] + @"\b", typoArray[x, 1]);
ولكن هذا سوف يحل محل "أبيلتي" مع "القدرة" الذي هو بطبيعة الحال سوف يسبب مشاكل، ولكن أنا لا يمكن معرفة كيفية الحفاظ على حالة من كلمة استبدال (حتى يصبح أبيلتي القدرة) ما لم يكن هو المقصود استبدال الخطأ المطبعي ل يتم رسملتها، بغض النظر عن ما هو عليه استبدال: januray إلى يناير
المحلول
وأعتقد أنك سوف نفعل ما هو أفضل استخدام التعبيرات المعتادة من مساحة الاسم System.Text.RegularExpressions.
وRegex.Replace (شارع، "[A]"، "Z")؛ أو أشكال أخرى منه. التعابير العادية قوية.
لا تنتمي إلى StackOverflow