دوال التجزيء الموجودة في الكلاس String
إسم الدالة مع تعريفها | |
---|---|
public String substring(int startIndex, int endIndex) ترجع String عبارة عن جزء (substring) من الـ String الذي قام باستدعائها.شاهد المثال » | |
public CharSequence subSequence(int startIndex, int endIndex) ترجع كائن من الكلاس CharSequence عبارة عن جزء (substring) من الـ String الذي قام باستدعائها.شاهد المثال » | |
public String[] split(String regex) ترجع نسخة من الـ String الذي قام باستدعائها مقسمة على شكل مصفوفة نوعها String .مكان الباراميتر regex نمرر نص يحدد الطريقة التي سيتم على أساسها تقسيم الـ String و وضع كل قسم فيها في عنصر بداخل المصفوفة.شاهد المثال » |
الدالة substring()
تعريفها
ترجع String
عبارة عن جزء (substring) من الـ String
الذي قام باستدعائها.
عند إستدعاء هذه الدالة عندنا خيارين:
تحديد من أين تبدأ.
تحديد من أين تبدأ و أين تنتهي.
إذا قمنا فقط بتحديد أين تبدأ الـ substring, سترجع الدالة String
تبدأ من الـ index الذي مررناه مكان الباراميتر startIndex
لآخر index موجود في الـ String
الذي قام باستدعائها.
إذا قمنا بتحديد أين تبدأ و أين تنتهي الـ substring, سترجع الدالة String
تبدأ من الـ index الذي مررناه مكان الباراميتر startIndex
إلى الـ index الذي مررناه مكان الباراميتر endIndex
.
في حال كان رقم الـ index الذي مررناه لها مكان الباراميتر الأول أو الثاني غير موجود, سيظهر لك خطأ.
بناؤها
هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.
// الشكل الأول public String substring(int startIndex) // الشكل الثاني public String substring(int startIndex, int endIndex)
باراميترات
الباراميتر
startIndex
يحدد الـ index الذي ستبدأ الـ substring منه.الباراميتر
endIndex
يحدد الـ index الذي تنتهي الـ substring عنده.
قيمة الإرجاع
ترجع String
عبارة عن substring من الـ String
الذي قام باستدعائها.
مثال
public class Main { public static void main(String[] args) { String s = "welcome to harmash.com, best site for learning"; System.out.println( s.substring(11) ); // رقم 11 index تبدأ من الـ substring هنا سترجع الدالة System.out.println( s.substring(11, 22) ); // رقم 22 index رقم 11 و تنتهي قبل الـ index تبدأ من الـ substring هنا سترجع الدالة } }
•سنحصل على النتيجة التالية عند التشغيل.
harmash.com, best site for learning harmash.com
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة subSequence()
تعريفها
ترجع كائن من الكلاس CharSequence
عبارة عن جزء ( substring أو subsequence نفس المعنى ) من الـ String
الذي قام باستدعائها.
بناؤها
public CharSequence subSequence(int startIndex, int endIndex)
باراميترات
الباراميتر
startIndex
يحدد الـ index الذي ستبدأ الـ subsequence منه.الباراميتر
endIndex
يحدد الـ index الذي تنتهي الـ subsequence عنده.
قيمة الإرجاع
ترجع كائن من الكلاس CharSequence
عبارة عن subSequence من الـ String
الذي قام باستدعائها.
مثال
public class Main { public static void main(String[] args) { String s = "welcome to harmash.com, best site for learning"; // رقم 22 index رقم 11 و تنتهي قبل الـ index تبدأ من الـ subSequence هنا سترجع الدالة System.out.println( s.subSequence(11, 22) ); } }
•سنحصل على النتيجة التالية عند التشغيل.
harmash.com
__________&&&______;&&&___________;&&&&_____________;&&&
الدالة split()
تعريفها
ترجع نسخة من الـ String
الذي قام باستدعائها مقسمة على شكل مصفوفة نوعها String
.
مكان الباراميتر regex
نمرر نص يحدد الطريقة التي سيتم على أساسها تقسيم الـ String
و وضع كل قسم فيها في عنصر بداخل المصفوفة.
بناؤها
هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.
// الشكل الأول public String[] split(String regex) // الشكل الثاني public String[] split(String regex, int limit)
باراميترات
مكان الباراميتر
regex
نمرر النص الذي ستستخدمه الدالة لتقسيم الـString
الذي قام باستدعائها.مكان الباراميتر
limit
نمرر رقم عادي نضعه في حال أردنا تحديد عدد عناصر المصفوفة التي سترجعها الدالة.
قيمة الإرجاع
ترجع مصفوفة نوعها String
تحتوي على نص كائن الـ String
الذي قام باستدعائها.
المثال الأول
public class Main { public static void main(String[] args) { String str = "welcome-to-harmash.com"; // parts بعدها سيتم وضع المصفوفة التي سترجعها في المصفوفة .str ستعتمد على الرمز - حتى تجزء نص الكائن split() هنا الدالة String[] parts = str.split("-"); String part1 = parts[0]; // welcome :الجزء الأول سيحتوي على النص String part2 = parts[1]; // to :الجزء الثاني سيحتوي على النص String part3 = parts[2]; // harmash.com :الجزء الثالث سيحتوي على النص System.out.println( part1 ); System.out.println( part2 ); System.out.println( part3 ); } }
•سنحصل على النتيجة التالية عند التشغيل.
welcome to harmash.com
في البرامج الفعلية لا نستخدم هذا الأسلوب البدائي, بل نستخدم الحلقات للتعامل مع المصفوفات.
المثال الثاني
public class Main { public static void main(String[] args) { String str = "welcome-to-harmash.com"; String[] parts = str.split("-"); int i = 0; while( i < parts.length ) { System.out.println( parts[i] ); i++; } } }
•سنحصل على النتيجة التالية عند التشغيل.
welcome to harmash.com
يوجد حلقة متقدمة إسمها foreach loop صممت خصيصاً للتعامل مع الـ arrays, سنشرحها بتفصيل في درس الـ arrays لكننا سنعطيك مثال كفكرة عامة.
المثال الثالث
public class Main { public static void main(String[] args) { String str = "welcome-to-harmash.com"; String[] parts = str.split("-"); for( String part : parts ) { System.out.println( part ); } } }
•سنحصل على النتيجة التالية عند التشغيل.
welcome to harmash.com
الآن سنتطرق للباراميتر limit, فكرته فقط تحديد إلى كم جزء سيتقسم الـ String
.
بمعنى آخر يحدد عدد عناصر المصفوفة التي سترجعها الدالة.
المثال الرابع
public class Main { public static void main(String[] args) { String str = "welcome-to-harmash.com"; String[] parts = str.split("-", 2); for( String part : parts ) { System.out.println( part ); } } }
•سنحصل على النتيجة التالية عند التشغيل.
welcome to-harmash.com
__________&&&______;&&&___________;&&&&_____________;&&&