MaxReve نشر 4 ديسمبر 2015 أرسل تقرير نشر 4 ديسمبر 2015 استخدم التعابير النمطية لحذف الرموز كما في المثال التالي:input = input.gsub(/<\/?[^>]*>/, '') لكن في بعض الأحيان قد يقوم المستخدم بوضع رموز غريبة:™ ☻ فكيف أستطيع حذف هذه الرموز الغريبة؟ اقتباس
0 هشام رزق الله نشر 4 ديسمبر 2015 أرسل تقرير نشر 4 ديسمبر 2015 أعتقد أن أسهل حل لهذه المشكلة هي تعريف ما هي الحروف الصحيحة وحذف جميع الرموز غيرها، أما إذا كنت بحاجة إلى الأحرف الإنجليزية الكبيرة والصغيرة بالإضافة إلى الأرقام وتريد حذف كل الرموز المتبقية فيمكنك في هذه الحالة استخدام سطر مثل التالي عن طريق تابع gsub:input = input.gsub(/[^0-9A-Za-z]/, '') أما إذا أردت الحصول على أحرف آسكي ASCII فقط فيمكنك في هذه الحالة حذف جميع الحروف التي تملك ترتيب أكبر من 127 في جدول آسكي كما في المثال التالي:original = "aøbauhrhræoeuacå" cleaned = "" original.each_byte { |x| cleaned << x unless x > 127 } cleaned # => "abauhrhroeuac" اقتباس
0 Ali Haidar Ahmad نشر 25 مارس 2022 أرسل تقرير نشر 25 مارس 2022 يمكنك أيضًا استخدام parameterize الذي يقوم بحذف الأحرف الخاصة: parameterize(string, separator: "-", preserve_case: false) public مثال: '@!#$%^&*()111'.parameterize => "111" أو بواسطة الدالة scan، حيث يبحث التابع عن نمط محدَّد ضمن السلسلة النصية التي استدعيت معه ويعيد النتائج المتطابقة في مصفوفة أو يمرِّرها إلى الكتلة المعطاة ويعيد الناتج الذي تعيده. scan(pattern) → array scan(pattern) {|match, ...| block } → str حيث أن pattern هو تعيبر نمطي أو سلسلة نصية يراد البحث عنها ومطابقتها في السلسلة النصية المعطاة. إن لم يحتوي هذا المعامل على مجموعات، فستتألف كل نتيجة فردية من السلسلة النصية المتطابقة (أي &$). أما إن احتوى على مجموعات، فستكون كل نتيجة فردية مصفوفة بحد ذاتها تحوي عنصر واحد لكل مجموعة. مثال، سنستخدم هذه الدالة للحصول على السلسلة بدون الأحرف الخاصة: original = "aøbæcå" stripped = original.scan(/[a-zA-Z]/).to_s puts stripped # الخرج "abc" اقتباس
السؤال
MaxReve
استخدم التعابير النمطية لحذف الرموز كما في المثال التالي:
لكن في بعض الأحيان قد يقوم المستخدم بوضع رموز غريبة:
فكيف أستطيع حذف هذه الرموز الغريبة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.