يعد مسح سلسلة في ج مهمة مهمة عند العمل مع البيانات النصية. أثناء عملية البرمجة ، غالبا ما يكون من الضروري حذف أو استبدال أحرف أو سلاسل فرعية معينة في سلسلة. في هذا الدليل ، سننظر في طرق مختلفة لتنظيف سلسلة في ج باستخدام الوظائف والأساليب القياسية.
واحدة من أسهل الطرق لمسح سلسلة هو استخدام وظيفة سترنكبي. تتيح لك هذه الوظيفة نسخ عدد معين من الأحرف من سطر إلى آخر. لإزالة الأحرف من سلسلة ، يمكنك استخدام وظيفة ميموف ، الذي يتحرك كتلة من الذاكرة ، بما في ذلك أحرف السلسلة ، من قبل عدد محدد من وحدات البايت.
طريقة أخرى مفيدة لمسح سلسلة هي استخدام وظيفة سترتوك. تقسم هذه الوظيفة السلسلة إلى رموز (أجزاء) بناء على الفاصل المحدد. Вы можете использовать эту функцию для удаления определенных символов или подстрок в строке.
В этом примере функция strtok используется для разбиения строки «Hello, world!"للحصول على الرموز من قبل المحددات",!"ومساحة. نتيجة لذلك ، يتم عرض الرموز المميزة "مرحبا" و "العالم" على الشاشة.
قد تحتوي التعليمات البرمجية الخاصة بك على طرق أخرى لمسح السلسلة. من المهم اختيار الطريقة الأنسب اعتمادا على مهمتك المحددة.
- مسح سلسلة في ج: نظرة عامة على الطرق الرئيسية
- إزالة المسافات من سلسلة
- استبدال سلسلة فرعية في سلسلة بسلسلة أخرى
- سؤال وجواب
- كيف يمكنني مسح سلسلة في ج?
- هل من الممكن لمسح سلسلة دون استخدام وظائف ج القياسية?
- ماذا تفعل وظيفة ميمسيت () عند مسح سلسلة في ج?
مسح سلسلة في ج: نظرة عامة على الطرق الرئيسية
في ج ، تنظيف السلسلة هي عملية إزالة جميع الأحرف أو المسافات غير المرغوب فيها من سلسلة. يمكن أن يكون هذا مفيدا عند معالجة إدخال المستخدم أو عند العمل مع البيانات النصية. في هذه المراجعة ، سننظر في عدة طرق أساسية لمسح سلسلة في ج.
- باستخدام حلقة: واحدة من أسهل الطرق لمسح سلسلة في ج هو استخدام حلقة للذهاب من خلال جميع الأحرف في السلسلة وإزالة الأحرف غير المرغوب فيها. أثناء الحلقة ، يمكنك استخدام وظائف مثل إسالفا() أو إسديجيت() للتحقق مما إذا كان الحرف هو حرف أو رقم. إذا لم يكن الحرف حرفا أو رقما ، فيمكن حذفه من السلسلة.
- باستخدام وظيفة سترتوك (): يمكن استخدام وظيفة سترتوك () لتقسيم سلسلة إلى رموز منفصلة باستخدام مجموعة محددة من أحرف المحدد. يمكنك تحديد المسافات والأحرف الأخرى غير المرغوب فيها كمحددات لإزالتها من السلسلة.
- باستخدام وظيفة ستركسبن (): يمكن استخدام وظيفة ستركسبن () للعثور على موضع التكرار الأول لأي حرف من مجموعة الأحرف المحددة في سلسلة. يمكنك استخدام هذه الوظيفة لحذف جميع الأحرف التي ليست أحرفا أو أرقاما عن طريق استبدالها بأحرف فارغة.
- باستخدام وظيفة ستربرك (): وظيفة ستربرك() مشابهة لوظيفة ستركسبن () ، ولكنها تجد أي حرف من مجموعة الأحرف المحددة الموجودة في السلسلة. يمكنك استخدام هذه الوظيفة لحذف جميع الأحرف التي هي محددات أو أحرف غير مرغوب فيها.
- استخدام التعبيرات العادية: تعد التعبيرات العادية أداة قوية للعمل مع النص ، بما في ذلك تنظيف السلسلة. في ج ، يمكنك استخدام مكتبة بكري (بيرل التعبيرات العادية المتوافقة) للعمل مع التعبيرات العادية. باستخدام التعبيرات العادية ، يمكنك تعيين نمط يتوافق مع الأحرف غير المرغوب فيها واستبدالها بسلسلة فارغة.
يعتمد اختيار طريقة تنظيف السلسلة في ج على متطلبات المشروع وتفضيلات المبرمج. كل من هذه الطرق لها خصائصها الخاصة ويمكن أن تكون أكثر فعالية في المواقف المختلفة. من المهم اختيار الطريقة المناسبة والتحقق من صحتها وفعاليتها في التطبيق الخاص بك.
إزالة المسافات من سلسلة
تعد إزالة المسافات من سلسلة واحدة من أكثر العمليات شيوعا عند العمل مع السلاسل في ج.
هناك عدة طرق لإزالة المسافات من سلسلة في ج. لنلق نظرة على بعضها:
استخدام التعبيرات العادية: في ج ، يمكنك أيضا استخدام المكتبات التي تدعم التعبيرات العادية لإزالة المسافات من سلسلة. على سبيل المثال ، توفر مكتبة بكري وظائف للعمل مع التعبيرات العادية:
# تشمل
شار شارع [] = "مرحبا العالم!"; | |
بكر * إعادة; | كونست شار * خطأ; |
| |
إنت إروفسيت; | |
| هذه ليست سوى بعض الطرق الممكنة لإزالة المسافات من سلسلة في ج.يعتمد اختيار الطريقة المناسبة على المهمة والمتطلبات المحددة للمشروع. | في ال ج لغة البرمجة ، يمكن استخدام عدة طرق لاستبدال سلسلة فرعية بأخرى في سلسلة. |
| الطريقة 1: استخدام | مثال الكود: الكود |
| الاتصال | |
ستديو.مكتبة ح | # تشمل |
| ربط المكتبة | لاستخدام وظائف السلسلة |
| استبدال الفراغ (شار * سلسلة ، شار * سلسلة فرعية، شار * استبدال); | كثافة العمليات الرئيسية() |
| وتتمثل المهمة الرئيسية للبرنامج | سلسلة شار [100] ، سلسلة فرعية [100] ، استبدال [100]; |
| إعلان المتغيرات لإدخال سلسلة وسلسلة فرعية وسلسلة لتحل محلها | برينتف ("أدخل سلسلة:"); |
| إخراج رسالة لإدخال خط | يحصل (سلسلة); |
إدخال سطر من لوحة المفاتيح | |
برينتف ("أدخل السلسلة الفرعية: "); | إخراج رسالة لإدخال سلسلة فرعية |
| يحصل (سلسلة فرعية); |
- يحصل (استبدال);
برينتف ("سلسلة معدلة: ٪ س
"،سلسلة);
| إخراج السلسلة المعدلة بعد الاستبدال | استبدال الفراغ (شار * سلسلة ، شار * سلسلة فرعية، شار * استبدال) |
|---|---|
تنفيذ وظيفة استبدال سلسلة فرعية بسلسلة أخرى | |
البحث عن أول ظهور لسلسلة فرعية في سلسلة | حلقة لاستبدال جميع تكرارات سلسلة فرعية في سلسلة |
| كثافة العمليات طول = سترلين (سلسلة فرعية); |
| حساب طول سلسلة فرعية | ستركبي (موقف ، ريبليسترينغ); |
| نسخ سلسلة بديلة بدلا من السلسلة الفرعية التي تم العثور عليها | موقف = سترستر ( موقف + طول ، سلسلة فرعية); |
| البحث عن التكرار التالي لسلسلة فرعية في سلسلة | نهاية وظيفة استبدال السلسلة الفرعية |
| هو العودة 0; | } |
| نهاية الوظيفة الرئيسية للبرنامج | |
| يجد كل تكرارات سلسلة فرعية في سلسلة باستخدام | ويحل محلها مع سلسلة أخرى. للقيام بذلك ، يتم استخدام حلقة يتم فيها نسخ سلسلة لاستبدال السلسلة الفرعية التي تم العثور عليها. |
| الطريقة 2: استخدام | هناك طريقة أخرى لاستبدال سلسلة فرعية في سلسلة بسلسلة أخرى وهي استخدام وظيفة المكتبة |
| ستريبلاس | سلسلة.h |
| . | الوصف |
# تشمل | الاتصال |
ستديو.مكتبة ح | # تشمل |
لاستخدام وظائف للعمل مع
كثافة العمليات الرئيسية () سلاسل
وتتمثل المهمة الرئيسية للبرنامج
سلسلة شار [100] ، سلسلة فرعية [100] ، استبدال [100];
إعلان المتغيرات لإدخال سلسلة وسلسلة فرعية وسلسلة لتحل محلها
برينتف ("أدخل سلسلة:");
إخراج رسالة لإدخال خط