دوال السلاسل النصية - الجزء الأول
جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 70 من 74.
إليك بعض الدوال المفيدة في السلاسل النصية:
insert(pos, str): يُدرج السلسلة النصيةstrفي الموضعposفي السلسلة النصية الحالية.
replace(pos, len, str): يستبدلlenمن الأحرف ابتداءً من الموضعposبالسلسلة النصيةstr.
substr(pos, len): تعيد سلسلة فرعية من السلسلة الحالية، تبدأ من الموضعposوبطولlen.
append(str): يضيف السلسلة النصيةstrإلى نهاية السلسلة النصية الحالية.
على سبيل المثال باستخدام السلسلة النصية التالية:
std::string str = "Hello, World!";str.insert(5, " C++");
// الناتج: "Hello C++, World!"str.replace(7, 5, "Universe");
// الناتج: "Hello, Universe!"str.substr(0, 5);
// الناتج: "Hello"str.substr(7, 5);
// الناتج: "World"str.substr(7);
// المخرجات: "World!"str.append(" This is universe");
// الناتج: "Hello, World! This is universe"التحدي
سهلقم بإنشاء دالة باسم stringOperations تأخذ سلسلة نصية (string) كمدخل وتنفذ العمليات التالية باستخدام دوال السلسلة النصية:
- طباعة طول السلسلة النصية.
- إلحاق السلسلة النصية
" - Modified"بالسلسلة الأصلية. - إدراج السلسلة النصية
"C++ "في بداية السلسلة. - استخراج سلسلة فرعية بطول 5 تبدأ من الموضع 5.
- استبدال السلسلة الفرعية ذات الطول 5 التي تبدأ من الموضع 5 بالسلسلة "Awesome".
- طباعة السلسلة المعدلة بعد كل عملية.
استخدم التنسيق التالي:
Length: [Length of string]
Append: [After Appending]
Insert: [After Insert]
Extract: [The extracted string]
Replace: [After replacing]ورقة مرجعية
دوال سلاسل C++ المفيدة:
insert(pos, str): تدرج السلسلةstrعند الموضعposreplace(pos, len, str): تستبدلlenمن الأحرف بدءاً من الموضعposبالسلسلةstrsubstr(pos, len): تعيد سلسلة فرعية تبدأ من الموضعposوبطولlenappend(str): تضيف السلسلةstrإلى النهاية
std::string str = "Hello, World!";
str.insert(5, " C++");
// "Hello C++, World!"
str.replace(7, 5, "Universe");
// "Hello, Universe!"
str.substr(0, 5);
// "Hello"
str.append(" This is universe");
// "Hello, World! This is universe"جرّب بنفسك
#include <iostream>
#include <string>
void stringOperations(std::string str) {
// 1. طباعة طول السلسلة النصية
// 2. إضافة " - Modified" إلى نهاية السلسلة النصية
// 3. إدراج "C++ " في البداية
// 4. استخراج سلسلة نصية فرعية بطول 5 تبدأ من الموقع 5
// 5. استبدال السلسلة النصية الفرعية في الموقع 5 بـ "Awesome"
}
int main() {
std::string str;
std::getline(std::cin, str);
stringOperations(str);
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني9حلقات التكرار
حلقة For - الجزء الأولحلقة Whileحلقة Do WhileBreakContinueحلقة For - الجزء الثانيالحلقات المتداخلةالحلقات اللانهائيةمراجعة - Dynamic Input12السلاسل النصية
سلاسل C النصية - الجزء الأولسلاسل C النصية - الجزء الثانيعمليات السلاسل النصيةدوال السلاسل النصية - الجزء الأولدوال السلاسل النصية - الجزء الثاني