يسمى جزء من السلسلة سلسلة فرعية . بمعنى آخر، السلسلة الفرعية هي مجموعة فرعية من سلسلة أخرى. توفر فئة Java String طريقة substring() المضمنة التي تستخرج سلسلة فرعية من السلسلة المحددة باستخدام قيم الفهرس التي تم تمريرها كوسيطة. في حالة أسلوب السلسلة الفرعية () يكون startIndex شاملاً وendIndex حصريًا.
لنفترض أن السلسلة هي ' حاسوب '، فإن السلسلة الفرعية ستكون com، وcompu، وter، وما إلى ذلك.
ملحوظة: الفهرس يبدأ من 0.
يمكنك الحصول على سلسلة فرعية من كائن السلسلة المحدد بإحدى الطريقتين:
تقوم هذه الطريقة بإرجاع كائن سلسلة جديد يحتوي على السلسلة الفرعية للسلسلة المحددة من مؤشر البداية المحدد (ضمنًا). تطرح الطريقة IndexOutOfBoundException عندما يكون مؤشر البداية أكبر من طول السلسلة أو أقل من الصفر.
تقوم هذه الطريقة بإرجاع كائن سلسلة جديد يحتوي على السلسلة الفرعية للسلسلة المحددة من startIndex المحدد إلى endIndex. تطرح الطريقة IndexOutOfBoundException عندما يكون مؤشر البداية أقل من الصفر أو يكون مؤشر البداية أكبر من مؤشر النهاية أو مؤشر النهاية أكبر من طول السلسلة.
في حالة السلسلة:
دعونا نفهم startIndex وendIndex من خلال الكود الموضح أدناه.
String s='hello'; System.out.println(s.substring(0,2)); //returns he as a substring
في السلسلة الفرعية أعلاه، 0 يشير إلى الحرف الأول ونقطتان إلى الحرف الثاني، أي e (لأن فهرس النهاية حصري).
مثال على طريقة Java substring()
TestSubstring.java
public class TestSubstring{ public static void main(String args[]){ String s='SachinTendulkar'; System.out.println('Original String: ' + s); System.out.println('Substring starting from index 6: ' +s.substring(6));//Tendulkar System.out.println('Substring starting from index 0 to 6: '+s.substring(0,6)); //Sachin } }
انتاج:
Original String: SachinTendulkar Substring starting from index 6: Tendulkar Substring starting from index 0 to 6: Sachin
ما سبق برامج جافا ، يوضح المتغيرات من سلسلة فرعية () طريقة خيط فصل. مؤشر البداية شامل ومؤشر النهاية حصري.
باستخدام طريقة String.split():
يمكن استخدام طريقة التقسيم () لفئة السلسلة لاستخراج سلسلة فرعية من الجملة. يقبل الحجج في شكل تعبير عادي.
TestSubstring2.java
import java.util.*; public class TestSubstring2 { /* Driver Code */ public static void main(String args[]) { String text= new String('Hello, My name is Sachin'); /* Splits the sentence by the delimeter passed as an argument */ String[] sentences = text.split('\.'); System.out.println(Arrays.toString(sentences)); } }
انتاج:
[Hello, My name is Sachin]
في البرنامج أعلاه، استخدمنا طريقة التقسيم (). يقبل الوسيطة \. الذي يتحقق من الجملة ويقسم السلسلة إلى سلسلة أخرى. يتم تخزينه في مجموعة من جمل كائنات السلسلة.