در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

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

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

متد lastIndexOf

این متد همانند متد indexOf عمل جستجو را انجام می دهد و شکل های این متد مانند شکل های متد indexOf می باشد. تنها تفاوتی که بین این دو متد وجود دارد این است که اگر کاراکتر یا رشته مورد جستجو یک بار در متن آمده باشد پس نتایج هردو یکی خواهد بود. ولی زمانی که کاراکتر یا رشته مورد جستجو بیش از یک بار در متن آمده باشد متد indexOf اولین جایی را که کاراکتر یا رشته مورد نظر وجود دارد را برمی گرداند ولی متد lastIndexOf آخرین مکانی از متن را که کاراکتر یا رشته مورد نظر در آن قرار دارد را برمی گرداند. در هر دو متد اگر کاراکتر یا رشته مورد نظر پیدا نشود عدد -1 بازگردانده خواهد شد. مثالی از این متد در کد زیر آورده شده است. از هر 4 شکل این متد استفاده شده است.

import java.io.*;

public class Test {

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

      System.out.print("Found Last Index :" );
      System.out.println(Str.lastIndexOf( 'o' ));
      System.out.print("Found Last Index :" );
      System.out.println(Str.lastIndexOf( 'o', 5 ));
      System.out.print("Found Last Index :" );
      System.out.println( Str.lastIndexOf( SubStr1 ));
      System.out.print("Found Last Index :" );
      System.out.println( Str.lastIndexOf( SubStr1, 15 ));
      System.out.print("Found Last Index :" );
      System.out.println(Str.lastIndexOf( SubStr2 ));
   }
}

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

Found Last Index :4
Found Last Index :11
Found Last Index :11
Found Last Index :-1

متد length

این متد طول رشته یا متن را برمی گرداند. به این صورت که تعداد کاراکترهای یونیکد که هرکدام 16 بیت هستند را اعلام می کند. در کد زیر طول دو رشته را توسط این متد محاسبه و نمایش می دهیم.

import java.io.*;

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

      System.out.print("String Length :" );
      System.out.println(Str1.length());

      System.out.print("String Length :" );
      System.out.println(Str2.length());
   }
}

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

String Length :19
String Length :5

متد matches

این متد در آرگومان ورودی یک regular expression دریافت کرده و مشخص می کند که رشته مورد نظر با این regular expression همخوانی دارد یا خیر. کار این متد دقیقا شبیه به عمل

Pattern.matches(regex, str)

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

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.matches("(.*)Itpro(.*)"));

      System.out.print("Return Value :" );
      System.out.println(Str.matches("Tutorials"));

      System.out.print("Return Value :" );
      System.out.println(Str.matches("Welcome(.*)"));
   }
}

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

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

متد regionMatches

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

public boolean regionMatches(int toffset,
                             String other,
                             int ooffset,
                             int len)

or

public boolean regionMatches(boolean ignoreCase,
                             int toffset,
                             String other,
                             int ooffset,
                             int len)

پارامترهای ورودی این متد به شرح زیر خواهد بود:

  1. toffset: نقطه شروع از متن که متن ورودی را از آنجا چک می کنیم
  2. other رشته ای که قرار است با متن اصلی چک شود
  3. ooffset نقطه شروع رشته ای که می خواهیم در متن اصلی آن را چک کنیم.
  4. len طول کاراکترهایی که باید با هم چک شوند.
  5. ignoreCase اگر این آرگومان true باشد در چک کردن به حروف بزرگ و کوچک تفاوت قایل نمی شود در غیر این صورت حروف و بزرگ و کوچک با هم تفاوت دارند.

مقدار خروجی این متد یک مقدار Boolean است که اگر متن داده شده و متن اصلی در قسمت مشخص شده و با طول گفته شده برابر باشند مقدار true و در غیر این صورت مقدار false برمی گردانند. برای مثال و درک بهتر این متد به کد زیر توجه کنید.

import java.io.*;

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

      System.out.print("Return Value :" );
      System.out.println(Str1.regionMatches(11, Str2, 0, 5));

      System.out.print("Return Value :" );
      System.out.println(Str1.regionMatches(11, Str3, 0, 5));

      System.out.print("Return Value :" );
      System.out.println(Str1.regionMatches(true, 11, Str3, 0, 5));
   }
}

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

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

متد replace

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

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.replace('o', 'T'));

      System.out.print("Return Value :" );
      System.out.println(Str.replace('l', 'D'));
   }
}

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

Return Value :WelcTme tT ItprT.ir
Return Value :WeDcome to Itpro.ir

البته قابلیت دیگری که متد replace دارد این است که می تواند یک رشته را جایگزین رشته دیگر کند. نحوه استفاده از این متد برای رشته ها هم همانند استفاده هنگام کاراکتر ها می باشد.

متد replaceAll

این متد یک regular expression و یک رشته را می گیرد و در داخل متن هر قسمت که با regular expression مورد نظر همخوانی داشته باشد با رشته داده شده جایگزین می کند. این متد یک خروجی از نوع String دارد و متن اصلی پس از جایگزینی را برمی گرداند. چنانچه گفتیم مفهوم regular expression را در مطالب بعدی توضیح خواهیم داد. برای مثال این متد به کد زیر توجه کنید

import java.io.*;

public class Test{
   public static void main(String args[]){
      String Str = new String("Welcome to Itpro.com please visit programming.itpro.com");

      System.out.print("Return Value :" );
      System.out.println(Str.replaceAll(".com",
                         ".ir" ));
   }
}

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

Return Value :We.ire to Itpro.ir please visit programming.tosinso.com

حال اگر بخواهیم که عمل جایگزینی فقط برای اولین مورد از رشته گفته شده انجام شود و بقیه نادیده گرفته شود از متد replaceFirst استفاده می کنیم. اگر در کد بالا به جای استفاده از replaceAll از متد replaceFirst استفاده کنیم خروجی به شکل زیر خواهد بود:

Return Value :We.ire to Itpro.com please visit programming.itpro.com

Itpro باشید

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

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

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

#مقایسه_رشته_ها_در_جاوا #آموزش_برنامه_نویسی_جاوا #رشته_ها_در_جاوا #کار_با_رشته_ها_در_جاوا #متدهای_مربوط_به_رشته_ها_در_جاوا #آموزش_جاوا #کلاس_string_در_جاوا #دوره_آموزشی_جاوا #جایگزینی_رشته_ها_در_جاوا #یادگیری_زبان_برنامه_نویسی_جاوا
عنوان
1 آموزش جاوا (Java) قسمت 1 : معرفی ، خصوصیات و شروع به کار رایگان
2 آموزش جاوا (Java) قسمت 2 : شی گرایی قسمت یک رایگان
3 آموزش جاوا (Java) قسمت 3: شی گرایی قسمت دو رایگان
4 آموزش جاوا (Java) قسمت 4 : شی گرایی قسمت سه رایگان
5 آموزش جاوا (Java) قسمت 5 : انواع داده رایگان
6 آموزش جاوا (Java) قسمت 6 : انواع متغیر رایگان
7 آموزش جاوا (Java) قسمت 7 : Modifier ها رایگان
8 آموزش جاوا (Java) قسمت 8 : عملگرها قسمت یک رایگان
9 آموزش جاوا (Java) قسمت 9 : عملگرها قسمت دو رایگان
10 آموزش جاوا (Java) قسمت 10 : حلقه های تکرار رایگان
11 آموزش جاوا (Java) قسمت 11 : عبارات شرطی رایگان
12 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
13 آموزش جاوا (Java) قسمت 12 : کلاس Wrapper اعداد رایگان
14 آموزش جاوا (Java) قسمت 14: کلاس Wrapper کاراکترها رایگان
15 آموزش جاوا (Java) قسمت 15 : کلاس String و کار با رشته قسمت یک رایگان
16 آموزش جاوا (Java) قسمت 16 : کلاس String و کار با رشته قسمت دو رایگان
17 آموزش جاوا (Java) قسمت 17 : کلاس String و کار با رشته قسمت سه رایگان
18 آموزش جاوا (Java) قسمت 18 : کلاس String و کار با رشته قسمت چهار رایگان
19 آموزش جاوا (Java) قسمت 19 : StringBuilder و StringBuffer رایگان
20 آموزش جاوا (Java) قسمت 20 : استفاده از آرایه ها رایگان
21 آموزش جاوا (Java) قسمت 21 : آموزش کار با تاریخ رایگان
22 آموزش جاوا (Java) قسمت 22 : عبارات منظم (Regular Expression) رایگان
23 آموزش جاوا (Java) قسمت 23 : تعریف و استفاده از متدها قسمت یک رایگان
24 آموزش جاوا (Java) قسمت 24 : تعریف و استفاده از متدها قسمت دو رایگان
25 آموزش جاوا (Java) قسمت 25 : کار با استریم ها و فایل ها رایگان
26 آموزش جاوا (Java) قسمت 26 : کار با دایرکتوری ها رایگان
27 آموزش جاوا (Java) قسمت 27 : کلاس ByteArrayInputStream رایگان
28 آموزش جاوا (Java) قسمت 28 : معرفی کلاس File و متدها رایگان
29 آموزش جاوا (Java) قسمت 29 : معرفی و شرح Exception ها قسمت 1 رایگان
30 آموزش جاوا (Java) قسمت 30 : معرفی و شرح Exception ها قسمت 2 رایگان
31 آموزش جاوا (Java) قسمت 31 : معرفی و شرح Exception ها قسمت 3 رایگان
32 آموزش جاوا (Java) قسمت 32 : استفاده از انوع کلاس های داخلی رایگان
33 آموزش جاوا (Java) قسمت 33 : وراثت کلاس ها و انواع آن رایگان
34 آموزش جاوا (Java) قسمت 34 : Override کردن متد ها رایگان
35 آموزش جاوا (Java) قسمت 35 : چند ریختی (Polymorphism) رایگان
36 آموزش جاوا (Java) قسمت 36 : Enum و ویژگی های آن رایگان
37 آموزش جاوا (Java) قسمت 37 : معرفی Abstract رایگان
38 آموزش جاوا (Java) قسمت 38 : استفاده از کپسول بندی (Encapsulation) رایگان
39 آموزش جاوا (Java) قسمت 39 : استفاده از اینترفیس ها رایگان
40 آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده رایگان
41 آموزش جاوا (Java) قسمت 41 : معرفی داده ساختارها Enumeration رایگان
42 آموزش جاوا (Java) قسمت 42 : داده ساختار BitSet رایگان
43 آموزش جاوا (Java) قسمت 43 : داده ساختار Vector رایگان
44 آموزش جاوا (Java) قسمت 44 : داده ساختار Stack (پشته) رایگان
45 آموزش جاوا (Java) قسمت 45 : داده ساختار Dictionary رایگان
46 آموزش جاوا (Java) قسمت 46 : داده ساختار Hashtable رایگان
47 آموزش جاوا (Java) قسمت 47 : داده ساختار Properites رایگان
48 آموزش جاوا (Java) قسمت 48 : معرفی و آموزش جنریک (Generic) رایگان
49 آموزش جاوا (Java) قسمت 49 : برنامه نویسی سوکت و شبکه قسمت 1 رایگان
50 آموزش جاوا (Java) قسمت 50 : برنامه نویسی سوکت و شبکه قسمت 2 رایگان
51 آموزش جاوا (Java) قسمت 51 : استفاده از Lambda Expression رایگان
52 آموزش جاوا (Java) قسمت 52 : Thread و Multi-Threading رایگان
53 آموزش جاوا (Java) قسمت 53 : Runnable در Thread و Multi-Threading رایگان
54 آموزش جاوا (Java) قسمت 54 : کلاس Thread و متدها رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....