subSequence()
دنبال «زیررشته در جاوا» هستی؟ متد subSequence() تکه ای از رشته را برمی گرداند. خروجی از نوع «توابع-رشته ای (CharSequence)» است؛ یعنی یک نمای متنی ساده.
تعریف ساده subSequence
متد subSequence(start, end) بخش بین اندیس های start و end را می دهد. اندیس start شامل می شود؛ ولی end شامل نمی شود.
امضای متد (Syntax)
public CharSequence subSequence(int start, int end);
مثال 1: گرفتن بخش «World»
در این مثال، زیررشته از اندیس 7 تا 12 خوانده می شود. مثل بریدن یک تکه از کیک.
public class Main {
public static void main(String[] args) {
String myStr = "Hello, World!";
CharSequence piece = myStr.subSequence(7, 12);
System.out.println(piece);
}
}
مثال 2: چند بازه امن
حتماً بازه را درست انتخاب کن. start نباید بزرگ تر از end باشد. همچنین end از طول رشته بیشتر نشود.
public class Main {
public static void main(String[] args) {
String txt = "Hello, World!";
System.out.println(txt.subSequence(0, 5));
System.out.println(txt.subSequence(7, 12));
}
}
ورودی ها و خروجی
- start: اندیس شروع زیررشته.
- end: اندیس پس از آخرین کاراکتر.
- خروجی: یک CharSequence شامل زیررشته.
هشدار: اگر اندیس ها نامعتبر باشند، IndexOutOfBoundsException رخ می دهد.
گام های عملی سریع
- رشته را آماده کن. مثلا یک جمله کوتاه.
- اندیس های start و end را تعیین کن.
- تابع را صدا بزن و نتیجه را چاپ کن.
مطالعه بیشتر
برای کار با کاراکترها، بخش charAt() را ببین. برای طول رشته هم length() مفید است. مرجع این متد: W3Schools: subSequence(). همچنین نمونه اجرا: Try it Yourself.
جمع بندی سریع
- subSequence زیررشته را برمی گرداند.
- خروجی از نوع CharSequence است.
- اندیس start شامل می شود؛ end نه.
- اندیس های غلط خطا می دهند.