Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

Javaالدالة split() في جافا

تعريفها

ترجع نسخة من الـ String الذي قام باستدعائها مقسمة على شكل مصفوفة نوعها String.
مكان الباراميتر regex نمرر نص يحدد الطريقة التي سيتم على أساسها تقسيم الـ String و وضع كل قسم فيها في عنصر بداخل المصفوفة.



بناؤها

هناك شكلين من هذه الدالة. أي يمكن إستدعاءها بطريقتين مختلفتين.

// الشكل الأول
public String[] split(String regex)
// الشكل الثاني
public String[] split(String regex, int limit)
// الشكل الأول public String[] split(String regex) // الشكل الثاني public String[] split(String regex, int limit)


باراميترات

  • مكان الباراميتر regex نمرر النص الذي ستستخدمه الدالة لتقسيم الـ String الذي قام باستدعائها.
  • مكان الباراميتر limit نمرر رقم عادي نضعه في حال أردنا تحديد عدد عناصر المصفوفة التي سترجعها الدالة.


قيمة الإرجاع

ترجع مصفوفة نوعها String تحتوي على نص كائن الـ String الذي قام باستدعائها.



المثال الأول

Main.java
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 );
}
}
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
welcome to harmash.com


في البرامج الفعلية لا نستخدم هذا الأسلوب البدائي, بل نستخدم الحلقات للتعامل مع المصفوفات.

المثال الثاني

Main.java
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++;
}
}
}
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
welcome to harmash.com


يوجد حلقة متقدمة إسمها foreach loop صممت خصيصاً للتعامل مع المصفوفات و التي شرحناها بالتفصيل في درس المصفوفات لكننا سنعطيك مثال كفكرة عامة.

المثال الثالث

Main.java
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 );
}
}
}
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
welcome to harmash.com


الآن سنتطرق للباراميتر limit, فكرته فقط تحديد إلى كم جزء سيتقسم الـ String.
بمعنى آخر يحدد عدد عناصر المصفوفة التي سترجعها الدالة.

المثال الرابع

Main.java
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 );
}
}
}
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
welcome to-harmash.com