تا %60 تخفیف خرید برای 8 نفر با صدور مدرک فقط تا
00 00 00

آموزش جاوا (Java) قسمت 18 : کلاس String و کار با رشته قسمت چهار

مهدی عادلی فر
مهدی عادلی فر
6 پسند
3863 بازدید
3 نظر
56 ماه قبل

با سلام به همه دوستان و همراهان Itpro. در ادامه مطالب در مورد کلاس String زبان برنامه نویسی جاوا به ادامه توضیحات متدهای موجود در این کلاس می پردازیم.

متد Split

یک متن را در نظر بگیرید که می خواهیم کلمات را پیدا کنیم. به شکلی که متن را با تعداد کاراکتر های فاصله ای که گذاشته شده جدا کنیم و در قالب یک آرایه نشان دهیم. برای این کار از متد split استفاده می کنیم. این متد دارای دو شکل است که شکل های آن در کد زیر آورده شده است:

public String[] split(String regex, int limit)

or

public String[] split(String regex)

آرگومان های ورودی این متد یک regular expression می باشد که تعیین می کند که متن را طبق چه کاراکتر یا کاراکترهایی تجزیه کنیم. برای مثال اگر شما بخواهید متن را توسط علامت فاصله جدا کنیم در این قسمت علامت فاصله خواهیم گذاشت. آرگومان limit برای این است که تعداد رشته های تجزیه شده را نشان بدهد. خروجی این متد یک آرایه رشته ای می باشد که رشته های تجزیه شده را در داخل آن آرایه می ریزد. برای درک راحت تر این متد به کد زیر توجه کنید:

import java.io.*;

public class Test{
   public static void main(String args[]){
       String Str = new String("Welcome to Itpro.ir");

        System.out.println("Return Value :" );
        for (String retval: Str.split(" ", 2)){
            System.out.println(retval);
        }
        System.out.println("");
        System.out.println("Return Value :" );
        for (String retval: Str.split(" ", 3)){
            System.out.println(retval);
        }
        System.out.println("");
        System.out.println("Return Value :" );
        for (String retval: Str.split(" ", 1)){
            System.out.println(retval);
        }
        System.out.println("");
        System.out.println("Return Value :" );
        for (String retval: Str.split(" ")) {
            System.out.println(retval);
        }
   }
}

خروجی کد بالا به شکل زیر خواهد بود:

Return Value :
Welcome
to Itpro.ir

Return Value :
Welcome
to
Itpro.ir

Return Value :
Welcome to Itpro.ir

Return Value :
Welcome
to
Itpro.ir

متد startsWith

این متد کاری خلاف متد endsWith انجام می دهد. به این معنی که بررسی می کند که آیا متن با رشته خاصی شروع شده است یا خیر. این متد دارای دو شکل است که در شکل اولیه مشخص می کند که ابتدای متن با رشته خاصی شروع شده است یا نه و در شکل دوم مشخص می کند که آیا از اندیس مشخص شده به بعد متن با رشته مورد نظر شروع شده است یا خیر. خروجی این متد یک مقدار Boolean است که اگر متن با رشته گفته شده شروع شده باشد مقدار true و در غیر این صورت مقدار false دارد. شکل های متفاوت این متد به شرح زیر است:

public boolean startsWith(String prefix, int toffset)

or

public boolean startsWith(String prefix)

آرگومان ورودی prefix همان رشته ای است که می خواهیم بدانیم که متن با آن رشته شروع شده است یا خیر و آرگومان ورودی toffset همان اندیس شروع است. که از آن نقطه می خواهیم بررسی کنیم که رشته از آن قسمت شروع شده است یا خیر. برای مثال و درک بهتر این متد به کد زیر توجه کنید:

import java.io.*;

public class Test{
   public static void main(String args[]){
      String Str = new String("Welcome to Itpro.ir");

      System.out.print("Return Value :" );
      System.out.println(Str.startsWith("Welcome") );

      System.out.print("Return Value :" );
      System.out.println(Str.startsWith("Itpro") );

      System.out.print("Return Value :" );
      System.out.println(Str.startsWith("Itpro", 11) );
   }
}

خروجی کد بالا مانند خط های زیر خواهد بود:

Return Value :true
Return Value :false
Return Value :true

متد subsequence

این متد یک زیر مجموعه از متن را به صورت دنباله ای از کاراکتر های را برمی گرداند. این متد دو پارامتر ورودی دارد که اندیس شروع و اندیس پایان دنباله ای که باید انتخاب شود را مشخص می کند و مقدار بازگشتی آن یک شئ از کلاس CharSequence می باشد. به عبارت دیگر این متد یک زیر رشته از متن را برمی گرداند ولی نوع بازگشتی آن کلاس CharSequence می باشد. برای درک بهتر این متد به کد زیر توجه کنید.

import java.io.*;

public class Test{
   public static void main(String args[]){
      String Str = new String("Welcome to Itpro.ir");

      System.out.print("Return Value :" );
      System.out.println(Str.subSequence(0, 10) );

      System.out.print("Return Value :" );
      System.out.println(Str.subSequence(10, 15) );
   }
}

خروجی کد بالا به شکل زیر خواهد بود

Return Value :Welcome to
Return Value : Itpr

متد substring

وظیفه این متد نیز بازگرداندن یک زیررشته از داخل متن است. این متد دارای دو شکل است در شکل اول یک آرگومان ورودی وجود دارد که اندیس شروع را از کاربر می گیرد و از آن قسمت تا انتهای رشته را برمی گرداند. در شکل دوم این متد هم اندیس شروع و هم اندیس پایان را از کاربر می گیرد. تفاوت این متد با متد subsequence این است که خروجی این متد از نوع String می باشد. کد زیر این متد را نشان می دهد:

import java.io.*;

public class Test{
   public static void main(String args[]){
      String Str = new String("Welcome to Itpro.ir");

      System.out.print("Return Value :" );
      System.out.println(Str.substring(10) );

      System.out.print("Return Value :" );
      System.out.println(Str.substring(10, 15) );
   }
}

نتیجه این کد به شکل زیر خواهد بود

Return Value : Itpro.ir
Return Value : Itpr

متد toCharArray

این متد متن را تبدیل به یک آرایه کاراکتری می کند. از آنجایی که هر متن یک شئ String است و یک مجموعه کاراکتر می باشد. این متد متن را به همان مجموعه کاراکتر به صورت آرایه تبدیل می کند. این متد ورودی نداشته و خروجی آن یک آرایه کاراکتری می باشد. کد زیر نحوه استفاده از این متد را نشان می دهد.

import java.io.*;

public class Test{
   public static void main(String args[]){
      String Str = new String("Welcome to Itpro.ir");

        System.out.print("Return Value :" );
        System.out.println(Str.toCharArray() );
        System.out.println(Str.toCharArray().length);
   }
}

خروجی کد بالا به شکل زیر خواهد بود

Return Value :Welcome to Itpro.ir
19

متد toLowerCase, toUpperCase

این دو متد اعمالی شبیه به هم انجام می دهند. هرکدام از این متدها دارای دو شکل می باشد یکی بدون آرگومان ورودی و یکی با یک آرگومان ورودی دارد. وظیفه متد toLowerCase این است که همه ی کاراکترهای متن را به حروف کوچک انگلیسی تبدیل می کند و وظیفه toUpperCase کاراکترهای متن را به حروف بزرگ تبدیل می کند. وظیفه آرگومان ورودی این است که نوع زبان و نوشتار را مشخص می کند که یک enum به نام Locale است. اگر از آرگومان ورودی استفاده نشود نوشتار و زبان پیش فرض انتخاب خواهد شد که این کار توسط Locale.getDefault انجام می شود. کد زیر مثالی از متدهای گفته شده است.

import java.io.*;

public class Test{
   public static void main(String args[]){
     String Str = new String("Welcome to Itpro.ir");

        System.out.print("lower case is :");
        System.out.println(Str.toLowerCase());
        System.out.print("UPPER CASE IS: ");
        System.out.println(Str.toUpperCase());
   }
}

خروجی کد بالا به شکل زیر خواهد بود:

lower case is :welcome to tosinso.com
UPPER CASE IS: WELCOME TO ITPRO.IR

متد trim

این متد آرگومان ورودی نداشته و خروجی آن یک شئ String است. وظیفه این متد این است که فاصله های خالی را از ابتدا و انتهای متن حذف می کند برای مثال به کد زیر توجه کنید:

import java.io.*;

public class Test{
   public static void main(String args[]){
      String Str = new String("   Welcome to Itpro.ir   ");

      System.out.print("Return Value :" );
      System.out.println(Str.trim() );
   }
}

همان گونه که دیده می شود در متن Str در ابتدا و انتهای آن فاصله خالی وجود دارد ولی خروجی متد trim به گونه ای است که این فواصل از ابتدا و انتها حذف شده اند. خروجی کد به شکل زیر است:

Return Value :Welcome to Itpro.ir

متد valueOf

این متد یک آرگومان ورودی می گیرد که از نوع داده اصلی جاوا است که مقدار وارد شده را تبدیل به رشته می کند و بازمی گرداند. شکل های گوناگون این متد عبارتست از :

static String valueOf(boolean b) 

or 

static String valueOf(char c) 

or

static String valueOf(char[] data) 

or

static String valueOf(char[] data, int offset, int count) 

or

static String valueOf(double d) 

or

static String valueOf(float f) 

or

static String valueOf(int i)

or

static String valueOf(long l)

or

static String valueOf(Object obj)

مثالی از این کد در ادامه آورده شده است.

import java.io.*;

public class Test{
   public static void main(String args[]){
      double d = 102939939.939;
      boolean b = true;
      long l = 1232874;
      char[] arr = {'a', 'b', 'c', 'd', 'e', 'f','g' };

      System.out.println("Return Value : " + String.valueOf(d) );
      System.out.println("Return Value : " + String.valueOf(b) );
      System.out.println("Return Value : " + String.valueOf(l) );
      System.out.println("Return Value : " + String.valueOf(arr) );
   }
}

نتیجه اجرای کد بالا به شکل زیر خواهد بود:

Return Value : 1.02939939939E8
Return Value : true
Return Value : 1232874
Return Value : abcdefg

تا به این قسمت از مطالب معرفی و توضیح متدهای کلاس String به پایان رسید. در ادامه مطالب آموزش جاوا به بررسی سایر ویژگی های این زبان مانند آرایه ها خواهیم پرداخت. Itpro باشید

نویسنده: مهدی عادلی فر

منبع: جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

نظر شما
برای ارسال نظر باید وارد شوید.
3 نظر