التعامل مع النصوص String
في البدايه لابد أن نعرف أن النصوص تختلف عنالأعداد في كثير من الأشياء.من أهمها مقارنه بين نصيين(سوف أتطرق إلى هذا الموضوعفي درس المقارنه)
لابد أن نعرف إنه String أصلح كلاس يحتوي على العديد من المثيدسوف أذكر أهمها:
length()
عندما تستدعيالمثيد هذه فإن عملها هو أن يعطيك طول النص حرف حرف (إنتبه حتى المسافه يعتبرهاحرف)
لابد أن تعرف الن طول النص يكون عدد صحيح )int(
إذاً هذه المثيد ترجع int
يبدأ يعد من واحد إلى النهايه
طريقة إستخدامها
في البدايه لابد أن تذكر النص بين قوصين أوتذكر متغير لابد أن يكون هذا المتغير من نوع String. لإن المثيد هذه تحت كلاس String
ثم دوت
ثمlength()
القوسان () يكونان فارغان
مثال:
"Alraddadi".length();
أو
String s = "Alraddadi";
s.length();
ولكن لو تلاحظ إحنا طلبنا يستدعي المثيد length() وهذه ترجعلنى عدد صحيح بس إحنا ما حفضنى العدد في في متغير من نوع int علشان نستخدمهبعدين لابد أن نحفظه في متغير نوعه زي نوع الى يرجع المثيد
فيسيركذا
int x = "Alraddadi".length();
تصبح هنا قيمة المتغير x هي طول عدد الأحرف في كلمة Alraddadi يعنى x = 9
أو
String s = "Alraddadi";
int x = s.length();
تصبح هنا قيمة المتغير x هي طول عدد الأحرف في المتغير s الذييحتوي على كلمة Alraddadi يعنى x = 9
--------------------------- equals()
للمساواه بين نصين
يرجع لك true إذا كانوامتساوين ويرجع false إذا كانوا ليس متساوين
إذاً هذه المثيد ترجع Boolean
طريقة إستخدامها
في البدايه لابد أنتذكر النص بين قوصين أو تذكر متغير لابد أن يكون هذا المتغير من نوع String. لإنالمثيد هذه تحت كلاس String
ثم دوت
ثم equals()
ويكون بين القوسين () إمانص بين علامتين تنصيص أو فقط متغير من نوع String
مثال:
Boolean w = "Alraddadi".equals("Alraddadi");
طبعاً راحيسير قيمة المتغير w بـ true لإن النصين متساويين
أو
Boolean w = "Alraddadi".equals("alraddadi");
طبعاً راح يسير قيمة المتغير w بـ false لإن النصين غير متساويين لاحظ أنه فيه فرق كبير بين السمول و الكبتل في لغةالجافا.
أو
String s1 = "Alraddadi";
String s2 = "alraddadi";
Boolean w = s1.equals(s2);
طبعاً راح يسير قيمة المتغير w بـ false لإن النصين غير متساويين ......
----------------------- equalsIgnoreCase()
نفس عمل equals() بالتمام إلا أنها لاتفرق بين السمول و الكبتل
-----------------------
toLowerCase()
لجعل نص محدد كله سمول
هذه المثيد ترجع String
طريقة إستخدامها
في البدايه لابد أن تذكرالنص بين قوصين أو تذكر متغير لابد أن يكون هذا المتغير من نوع String. لإن المثيدهذه تحت كلاس String
ثم دوت
ثم toLowerCase()
ويكون القوسين () فارغين
مثال
String s = "RADDADI".toLowerCase();
راح يسير قيمةالمتغير s "raddadi" لاحظوا حولها لسمول ------------------------- toUpperCase()
نفس عمل toLowerCase() بس يرجعهاكبتل
-------------------------
trim()
لحذف الفراغات الزايده
هذه المثيد ترجع String
طريقة إستخدامها
في البدايه لابد أن تذكرالنص بين قوصين أو تذكر متغير لابد أن يكون هذا المتغير من نوع String. لإن المثيدهذه تحت كلاس String
ثم دوت
ثم trim()
ويكون القوسين () فارغين
مثال
String s = " Hmm ".trim();
راح يسيرقيمة المتغير s "Hmm" لاحظوا حذف الفراغاتالزايده -----------------------
charAt()
لأخذ حرف واحد من نص
هذه المثيد ترجع char لإنه بس نبغى حرف واحد
يبدأ يعد من صفر إلىالنهايه
طريقة إستخدامها
في البدايه لابدأن تذكر النص بين قوصين أو تذكر متغير لابد أن يكون هذا المتغير من نوع String. لإنالمثيد هذه تحت كلاس String
ثم دوت
ثم charAt()
ويكون القوسين () بداخلهممكان الحرف المراد أخذه
مثال
char c = "Alraddadi".charAt(1);
راح يعد لما يصل إلىالقيمه الموجوده بين القوسين طبعاً يبدأمن صفر وينتهي عند طول النص - 1 يسيرقيمة المتغير c 'l' لاحظوا علامت تنصيص زي كذا ' لإنه من نوع char
الملاحظالثانيه والمهمه أنو أول مايعد يبدأ من صفر فلو حطينا جو القوسين (0) الناتج يطلع 'A'
---------------------------
substring(~1,~2)
هذه صعبه شوي علشان هيك دقق فيهامره
لإخذ نص من نص آخر يبدأ من ~1 إلى ~2 ولكن لا يأخذ ~2 يأخذ الىقبلها
~1 و ~2 لابد يكون عدد إنتجر لإنه طول النص يكون عدد صحيح من المستحيل إنهيكون double
طبعاً أو مايبدأ بترتيب الأحرف يعد من الصفر زي charAt()
هذه المثيد ترجع String
طريقةإستخدامها
في البدايه لابد أن تذكر النص بين قوصين أو تذكر متغير لابد أنيكون هذا المتغير من نوع String. لإن المثيد هذه تحت كلاس String
ثم دوت
ثم substring(~1,~2)
مثال
يعني لو اردنا ان ناخذ الحرفين "dd" من "alraddadi" نبدأ نعد من صفر
صفر = a
1 = l
2 = r
3 = a
4 = d
5 = d
6 = a
7 = d
8 = i
لاحظ أن طول النص 9 بس الطول نبدأ من 1
يعني يسيرالكود
String d = "alraddadi";
String s = d.substring(4,6);
أو
String s = "alraddadi".substring(4,6);
يسير قيمة المتغير s "dd" لاحظكتبنا (4,6) وليس (4,5)
علشان قلنا ياخذ أول ترتيب الى هو ترتيب 4 إذا كان بادي منالصفر
وقلنا 6 علشان ينتهي عند ترتيب الحرف الى قبله
إذا كنت تريد تشوف كم حرفراح يطلع نقص النهايه من البدايه
6-4=2 حرفين
5-4=1 حرف
البدايه معانا بسالنهايه لا الى قبل النهايه معانا
ملاحظه إذا كتبناكذا
substring(~1)
خذ النص من ~1 إلى نهايةالنص
-----------------------------
indexOf(~1,~2)
هذه صعبه شوي علشان هيك ركز فيهامره
ترجع ترتيب حرف معير أو كلمه أنت تضعه من نص معين
الترتيب يبدأ من صفر
هذه المثيد ترجع int لإنه ترتيب النصيكون عدد صحيح من المستحيل إنه يكون double
~1 نضع حرف أو نص الى نبغاه يرجعترتيبه كم في نص معين من هذه المثيد
~2 نضع بداية البحث عن هذا النص أو الحرفالى نبغاه يبحث عنه من نص معين
إذاً ~1 ندخل فيه نص
و ~2 ندخل فيه عددصحيح
تقدر تخليه زي كذاindexOf(~1)
يعني يبحث لك عن ~1 من أول النص
طريقة إستخدامها
في البدايه لابد أن تذكر النص بين قوصين أوتذكر متغير لابد أن يكون هذا المتغير من نوع String. لإن المثيد هذه تحت كلاس String
ثم دوت
ثم indexOf(~1,~2)
مثال:
يعني لو نبي يرجع لناترتيب أول حرف من "d" من كلمة "alraddadi" نبدأ نعد من صفر
صفر = a
1 = l
2 = r
3 = a
4 = d
5 = d
6 = a
7 = d
8 = i
لاحظ أن طولالنص 9 بس الطول نبدأ من 1
لاحظ أول ترتيب ل حرف d هو 4
يعني يسير الكود
String d = "alraddadi";
int x = d.indexOf("d");
أو
int x = "alraddadi".indexOf("d");
راح يسير قيمةالمتغير s 4 لو نبيه يجيب ترتيب حرف d الى في ترتيب 7
يسير الكود كتالى
int x = "alraddadi".indexOf("d",6);
راح يروح إلىالترتيب 6 ويلقاه حرف a يمشي للى بعده ويلقاه حرف d وهو المطلوب فيسير قيمة المتفير 7 لاحظ حتى لو حطيت حرف لابد أنك تحط نوع القوس زي كذ " لإن المدخل من نوع String ليس من نوع char
-------------------
lastIndexOf(~1)
زي indexOf(~1,~2) بس إنه يرجع ترتيبالنص أو الحرف الآخير من نص معين
مثال
int x = "alraddadi".lastIndexOf("d");
يسير قيمةالمتفير 7 لإنه آخر حرف d ترتيبه 7
----------------------
ملاحظهتقدر تخلط المثيد مع بعض يسير تقدر تقول
String s = ALRADDADI".substring(0).toLowerCase();
تحياتي لكم