المطلوب
قم بتعريف دالة إسمها CountNoneEscapeChars, عند استدعاءها نمرر لها نص, فترجع عدد الأحرف الموجودة في هذا النص.
ملاحظة: أي حرف يعتبر Escape Character مثل الأحرف \t و \n إلخ.. لا يجب أن يتم حساب عددهم ضمن عدد الأحرف.
يمكنك إستخدام الـ Regex للتمييز بين الأحرف العادية و الأحرف التي تعتبر Escape Characters.
مثال: إذا قمنا باستخدام الدالة CountNoneEscapeChars() و تمرير النص "Hi Lora.\nHow are you?." فإنها سترجع الرقم 18.
الحل بلغة C++
#include <iostream>
#include <string>
#include <regex>
static int countNoneEscapeChars(std::string s) {
if (s.empty())
{
return 0;
}
int counter = 0;
std::string character = "";
std::regex regex("\\S");
for (int i = 0; i < s.length(); i++)
{
character = s[i];
if ( std::regex_match(character, regex) )
{
counter++;
}
}
return counter;
}
int main() {
std::string text = "Hi Lora.\nHow are you?.";
int numberOfNoneEscapeChars = countNoneEscapeChars(text);
std::cout << "Total characters: " << numberOfNoneEscapeChars;
char end; std::cin >> end;
return 0;
}
سنحصل على النتيجة التالية عند التشغيل.
Total characters: 18


محرر الويب
نظام الألوان
محول الوحدات
محلل عناوين الشبكات