سؤال

لدي وظيفة استخدمتها مجموعة من الأوقات في مختلف الملفات التي لديها توقيع مثل:

Translate("English Message", "Spanish Message", "French Message")

وأنا أرغب في سحب الرسائل الإنجليزية والإسبانية والفرنسية ثم إخراجها إلى CSV بحيث يمكن للأشخاص الذين يعرفون هذه اللغات بالفعل أن يخبروني بما يجب أن أضعه هناك.

على أي حال ، ما أركض فيه هو أن بعض الرسائل الفرنسية والإسبانية لا تظهر بسبب الشخصيات المعلنة والاقتباسات الفردية.

هذا هو برنامج vb.net.

تعديل

لم تكن هناك مشكلة في اللغة ، وكانت مشكلتي في الواقع التعبير العادي وافتقاري التام لفهم التعبيرات العادية.

هل كانت مفيدة؟

المحلول

يعتمد على مكتبة Regex التي تستخدمها. تستخدم تطبيقات Sane regex UTF-8 وليس لديها مثل هذه المشكلات ، ولكن المزيد من التفاصيل ستكون مفيدة بشأن ما تستخدمه ، وما هي مكتبة Regex وما إلى ذلك.

نصائح أخرى

إذا كان هناك علامة dotall في تطبيق Regex لغتك ، فقد ترغب في تعيينه.

بدلاً من ذلك ، قم بتغيير regex لالتقاط فئة حرف نفي بدلاً من ذلك ، مثل ذلك:

([^your_delimiter]*?)

مع كونك _delimiter كونك الشخصيات (الأحرف) التي تنجح على الفور في السلسلة التي تريد التقاطها.

انظر هذا لمزيد من المناقشة:

http://en.wikipedia.org/wiki/regular_expression#unicode

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top