دوال السلاسل النصية - الجزء الثاني
جزء من قسم الأساسيات في رحلة C++ على Coddy. الدرس 71 من 74.
إليك المزيد من الدوال المفيدة للسلاسل النصية:
- erase(pos, len): يحذف len من الأحرف بدءًا من الموضع pos من السلسلة الحالية.
- find(str): يعيد موضع أول ظهور لـ str في السلسلة الحالية. يعيد كائنًا يمكن مقارنته بـ -1 إذا لم يُعثر عليه.
- clear(): يزيل جميع الأحرف من السلسلة، فيجعلها فارغة.
- empty(): يُرجع true إذا كانت السلسلة فارغة، وfalse خلاف ذلك.
على سبيل المثال، باستخدام السلسلة النصية التالية:
std::string str = "Hello, World!";int pos = str.find("World");
// الناتج: pos = 7 (الموضع الذي تبدأ عنده "World")str.erase(5, 2);
// الناتج: "HelloWorld!"str.clear();
// الناتج: "" (سلسلة نصية فارغة)bool isEmpty = str.empty();
// تُرجع true إذا لم تحتوِ str على أي محارفالتحدي
سهلأنشئ دالة باسم stringSearchOperations تأخذ سلسلة نصية كمدخل وتنفّذ العمليات التالية باستخدام دوال السلاسل النصية:
- تعثر على موضع أول حرف مسافة في السلسلة وتطبعه.
- تحذف 4 أحرف بدءًا من الموضع 5.
- تتحقق مما إذا كانت السلسلة تحتوي على الكلمة "You"، وتطبع "Found" أو "Not Found".
- تمسح السلسلة وتتحقق مما إذا كانت فارغة.
- تطبع النتائج بعد كل عملية.
استخدم التنسيق التالي:
Space Found At: [Position of space]
After Erase: [String after erasing]
Contains You: [Found/Not Found]
Is Empty: [true/false]جرّب بنفسك
#include <iostream>
#include <string>
void stringSearchOperations(std::string str) {
// ابحث عن أول مسافة
// احذف 4 أحرف بدءًا من الموضع 5
// تحقق مما إذا كانت السلسلة تحتوي على "You"
// أفرغ السلسلة وتحقق مما إذا كانت فارغة
}
int main() {
std::string str;
std::getline(std::cin, str);
stringSearchOperations(str);
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني9حلقات التكرار
حلقة For - الجزء الأولحلقة Whileحلقة Do WhileBreakContinueحلقة For - الجزء الثانيالحلقات المتداخلةالحلقات اللانهائيةمراجعة - Dynamic Input12السلاسل النصية
سلاسل C النصية - الجزء الأولسلاسل C النصية - الجزء الثانيعمليات السلاسل النصيةدوال السلاسل النصية - الجزء الأولدوال السلاسل النصية - الجزء الثانيتدرّب بنفسك: مترجم C++ عبر الإنترنت