//Mostafa Abu Eideh
void setup() {
// بدء الاتصال التسلسلي بسرعة 9600 بت في الثانية
Serial.begin(9600);
// أمثلة على دوال السلسلة
// 1. setCharAt(index, c):تغيير الحرف في الاندكس المحدد
String str1 = "Hello";
str1.setCharAt(1, 'a');//مثلا هنا سيقوم بوضع حرف أ مكان الاندكس واحد والذي يمثل حرف اي
Serial.print("setCharAt: ");
Serial.println(str1); // Hallo
// 2. startsWith(S2):التحقق مما إذا كان النص يبدأ بحروف معينة
String str2 = "Hello";
if (str2.startsWith("He")) {//هنا سيتحقق اذا كان السترينغ يبدأ بهذين الحرفين او لا
Serial.println("startsWith: Starts with He");
}
// 3. substring(index):استخراج جزء من النص بدءًا من الموضع المحدد
String str3 = "Hello";
String substr1 = str3.substring(2);//مثلا هنا معناها:استخرج النص بدءا من الاندكس 2 وما بعده
Serial.print("substring(index): ");
Serial.println(substr1); // llo
// 4. substring(index, to):هنا نفس الذي قبله ولكن تحدد النص الذي ستستخرجه بالضبط من الاندكس كذا الى الاندكس كذا
String substr2 = str3.substring(1, 4);
Serial.print("substring(index, to): ");
Serial.println(substr2); // ell
// 5. toCharArray(buffer, len):نسخ النص إلى مصفوفة
char buf[6];
str3.toCharArray(buf, 6);//مثلا هنا حولنا النص "هيلو" الى مصفوفة
Serial.print("toCharArray: ");
Serial.println(buf); // Hello
// 6. toFloat():تحويل النص إلى عدد عشري
String str4 = "123.45";//هذا نص ولا يقرأ كرقم عادي
float num1 = str4.toFloat();
Serial.print("toFloat: ");
Serial.println(num1); // 123.45
// 7. toInt():تحويل النص إلى عدد صحيح
String str5 = "123";//
int num2 = str5.toInt();
Serial.print("toInt: ");
Serial.println(num2); // 123
// 8. toLowerCase():تحويل كل الحروف الى حروف صغيرة
String str6 = "Hello";
str6.toLowerCase();
Serial.print("toLowerCase: ");
Serial.println(str6); // hello
// 9. toUpperCase():تحويل كل الحروف الى حروف كبيرة
String str7 = "Hello";
str7.toUpperCase();
Serial.print("toUpperCase: ");
Serial.println(str7); // HELLO
// 10. trim():إزالة الفراغات في البداية والنهاية
String str8 = " Hello ";
str8.trim();
Serial.print("trim: ");
Serial.println(str8); // Hello
// 11. charAt(n):الحصول على الحرف في الاندكس المحدد
String str9 = "Hello";
char ch = str9.charAt(1);
Serial.print("charAt: ");
Serial.println(ch); // e
// 12. compareTo(S2):مقارنة النصين
String str10 = "Hello";
String str11 = "World";
int result = str10.compareTo(str11);
Serial.print("compareTo: ");
Serial.println(result); //اذا كانت سترينغ10 اقل من سترينغ 11 فسيطبع رقم سالب ,واذا كانت تساويها سيطبع صفر واذا كانت اكبر منها فسيطبع رقم موجب
// 13. concat(S2): دمج نصين مع بعض
String str12 = "Hello ";
String str13 = "World";
str12.concat(str13);
Serial.print("concat: ");
Serial.println(str12); // Hello World
// 14. endsWith(S2):التحقق مما إذا كان النص ينتهي بحروف معينة.
String str14 = "Hello";
if (str14.endsWith("lo")) {
Serial.println("endsWith: Ends with lo");
}
// 15. equals(S2): التحقق مما إذا كانت النصوص متساوية.
String str15 = "Hello";
String str16 = "Hello";
if (str15.equals(str16)) {
Serial.println("equals: Strings are equal");
}
// 16. equalsIgnoreCase(S2): التحقق مما إذا كانت النصوص متساوية بدون اعتبار لحالة الأحرف كبيرة او صغيرة.
String str17 = "Hello";
String str18 = "hello";
if (str17.equalsIgnoreCase(str18)) {
Serial.println("equalsIgnoreCase: Strings are equal ignoring case");
}
// 17. getBytes(buffer, len):نسخ النص إلى مصفوفة بايت.
byte buf2[6];
str17.getBytes(buf2, 6);
Serial.print("getBytes: ");
Serial.write(buf2, 5); // Hello
Serial.println();
// 18. indexOf(S):العثور على الموضع الأول لحرف أو نص معين.
int index1 = str17.indexOf('e');//الكلمة Hello
Serial.print("indexOf: ");
Serial.println(index1); // 1
// 19. lastIndexOf(S):العثور على الموضع الأخير لحرف أو نص معين.
int index2 = str17.lastIndexOf('l');//الكلمة Hello
Serial.print("lastIndexOf: ");
Serial.println(index2); // 3
// 20. length():الحصول على طول النص. وانتبه انه يحسب الفراغات اذا كانت موجودة
int len = str17.length();
Serial.print("length: ");
Serial.println(len); // 5
// 21. remove(index):إزالة الحرف ابتدائا من الاندكس المحدد والى اخر السلسلة.
String str19 = "Hello";
str19.remove(1);
Serial.print("remove(index): ");
Serial.println(str19); // H
// 22. remove(index, count):إزالة عدد معين من الأحرف بدءًا من الانكس كذا الى الاندكس كذا
String str20 = "Hello";
str20.remove(1, 2);
Serial.print("remove(index, count): ");
Serial.println(str20); // Hlo
// 23. replace(A, B):استبدال حرف أو نص بآخر.
String str21 = "Hello";
str21.replace('l', 'x');//معناه استبدل كل ال ب اكس
Serial.print("replace: ");
Serial.println(str21); // Hexxo
// 24. reserve(count):تخصيص مساحة محددة للنص.
String str22;
str22.reserve(10);
str22 = "Hello";
Serial.print("reserve: ");
Serial.println(str22); // Hello
}
void loop() {
// لا شيء هنا
}