كيفية استبدال أحرف الهروب في التعبير العادي؟

StackOverflow https://stackoverflow.com/questions/1637227

  •  06-07-2019
  •  | 
  •  

سؤال

مرة أخرى لقد اصطدمت بالحائط.

كيفية استبدال أحرف الهروب باستخدام التعبيرات العادية؟إذا حدث حرف الجدولة ( ) أكثر من مرتين، فأنا أرغب في استبدال هذين التكرارين أو أكثر بـ واحد.على سبيل المثال، إذا جاء ، فأنا أريد استبداله بـ فقط.كيف نفعل ذلك؟

أواجه مشكلة أخرى فيما يتعلق بقراءة الملف النصي وتطبيق التعبيرات العادية عليه.

أنا أستخدم C# لقراءة الملفات النصية وللتعبيرات العادية.عندما أقوم بفتح ملف نصي (ملف له امتداد txt)، أحصل على عرض عادي للملف.ولكن عندما أقرأ نفس الملف باستخدام "textReader" وأخزنه في سلسلة، أحصل على نص مثل هذا:

أو ك البريد الإلكتروني:
k.o@gmail.com الهاتف:+ 91
992 ملخص التجربة
ذكاء الأعمال والبيانات
مصمم مستودعات لديه أكثر من 6
سنوات من الخبرة في العمل في OLAP
المشروع. التقنية يوجد أدناه أ
قائمة المنتجات البرمجية الهامة
والأدوات التي عملت بها
مع. البرنامج
المنتجات \a \aقيد التشغيل
الأنظمة: WINDOWS NT، WINDOWS 2000،
UNIX إدارة قواعد البيانات
الأنظمة: Oracle 8i، Oracle 9i، Oracle
10 جرام، SQL-Server 7.0، DB2 Software
الحزم: VSS، ER Win، M1 الرابع
لغة الإنشاء: PL/SQL،
SQL*PLUS الأدوات و
التقنيات: Oracle Warehouse
منشئ 10.1.0.4.0، أوراكل 9i AS،
يقوم Oracle Discoverer بإبلاغ مرحلة البيانات
8.0، المسار السريع 8.5، DB@ Cube، جافا سكريبت، JSP، JDEV، BI Beans، ASP،
أسب.نت، أب
البداية \a \a\v \fالواجبات
تفاصيل المهام المختلفة
التي تعاملت معها مدرجة هنا،
في التسلسل الزمني
الطلب. الاسم \aبيانات Avery Dennison
التخزين \a \aالعميل \aAvery
دينيسون، وقال انه التحدي في المشروع
هو تغذية EDW من القائمة
المستودعات التي لديها بيانات في
مجمعة
المستوى. \a \a الاسم \aAOL BI
(Omniture)\فريق الطقوس.تصميم،
الترميز والاختبار جنبا إلى جنب مع
التنسيق مع فريق الموقع.
\a \aالأدوات والتقنيات \aUnix
منصة أوراكل 10 جي، بي.ليس فقط
تقديم الشرط الصحيح ولكن
كما يجب أن يكون الأداء موجودًا
مقبول
النطاق. \a \a الاسم \aAIW
الأحداث (ABSA) \a \aالعميل \aABSA،
جنوب أفريقيا \a \aP

أي أن جميع أحرف الهروب مثل \s، ، \f مرئية.ولهذا السبب، فإن التعبير العادي الذي يعمل مع النص العادي لا يعمل عندما أقرأ نفس النص في متغير السلسلة.

هل أحد يعرف كيفية حل هذه المشكلة؟

شكرًا

لدي استفسار واحد آخر.أريد مطابقة النص في نهاية السطر.حاولت استخدام $ لهذا الغرض.على سبيل المثال، لمطابقة النص الذي ينتهي بـ "مهمة"، استخدمت regex Assign$. وقد نجح مع النص العادي.ولكن عندما أقوم بتشغيل هذا regx على النص المقدم من قارئ البث، فإن هذا regex لا يعمل.يوفر قارئ الدفق سلاسل مثل المهام \f. كيف يمكن مطابقة نهاية السطر أو بداية السطر مع هذا النوع من النص؟

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

المحلول

أنت تحاول مطابقة السلسلة "\r", ، يمين؟سيكون عليك الهروب من شخصية الهروب للقيام بذلك:

"(\\r)*"

سوف يتطابق هذا التعبير "\r" أي عدد من المرات.إنه يعمل بسبب "\\" يهرب إلى الحرفي "\".يمكنك تطبيق نفس الفكرة للمطابقة "\t", ، أيضاً.

نصائح أخرى

/\t{2,}/\t/

يستبدل علامتي تبويب أو أكثر بحرف واحد.

بالنسبة لعلامة التبويب char، استخدم شيئًا مثل هذا:

/(\t)*/\1/g
  1. أنشئ مجموعة تحتوي على حرف واحد (علامة التبويب char) وقم بمطابقتها قدر الإمكان.
  2. استبدل التطابق الكامل بالحرف المفرد
  3. (عام) استخدم النمط للنص الكامل.

ثم يمكنك استخدام نفس التعبير للأحرف الهاربة الأخرى التي تريد استبدالها.

هل يمكن أن تحل محل \\t\\t\\t مع \\t{3}

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