เมธอด lastIndexOf ()ส่งกลับตำแหน่งของการเกิดขึ้นครั้งล่าสุดของอักขระที่ระบุหรือสตริงย่อยในสตริง ลองนึกภาพว่าคุณมีข้อความยาว ๆ หรือค่อนข้างยาว ตัวอย่างเช่นอาจเป็นจดหมายและคุณต้องค้นหาสถานที่ที่การโทรถึงผู้รับครั้งล่าสุดเกิดขึ้นโดยใช้ชื่อที่คุณรู้อยู่แล้ว สำหรับกรณีดังกล่าว เมธอด indexOfของคลาส Java Stringนั้นเหมาะสมมาก หากคุณต้องการให้อักขระปรากฏขึ้นครั้งแรกในสตริง คุณสามารถใช้ เมธอด indexOf()ซึ่งคล้ายกับlastIndexOf( ) มีสี่ตัวแปรของlastIndexOf()วิธี. การมีเมธอดสี่เมธอดที่มีชื่อเดียวกันแต่พารามิเตอร์ต่างกันเป็นไปได้เนื่องจากเมธอดโอเวอร์โหลด ด้านล่างเราจะดูรูปแบบทั้งสี่ของวิธีนี้พร้อมตัวอย่าง
สุดท้ายดัชนีของ (int ch)
เมธอดนี้ส่งคืนดัชนีของการเกิดขึ้นครั้งล่าสุดของอักขระในลำดับอักขระไวยากรณ์ของวิธีการ
int lastIndexOf(int ch)
พารามิเตอร์: ch : อักขระ
ตัวอย่างโค้ด
public class LastIndexOf1 {
public static void main(String args[])
{
//letter to find index in String
char letter = 'd';
//String to find an index of a letter
String myString = "This is major Tom to ground control, do you copy";
//The index of last appearance of d will be printed
System.out.println("Last Index of d = " + myString.lastIndexOf(letter));
}
}
ผลลัพธ์คือ:
ดัชนีสุดท้ายของ d = 37
หากอักขระที่เรากำลังมองหาไม่อยู่ในสตริง วิธีการจะส่งกลับ -1:
public class LastIndexOf1 {
public static void main(String args[])
{
char letter = 'z';
String myString = "This is major Tom to ground control, do you copy";
System.out.println("Last Index of z = " + myString.lastIndexOf(letter));
}
}
ผลลัพธ์คือ:
ดัชนีสุดท้ายของ z = -1
lastIndexOf(int ch, int fromIndex)
lastIndexOf(int ch, int fromIndex) : หากอักขระนี้แสดงอยู่ในสตริง เมธอดนี้จะส่งคืนดัชนีของการเกิดขึ้นครั้งล่าสุดของอักขระ ch โดยค้นหาย้อนหลังโดยเริ่มต้นที่ดัชนีที่ระบุ หากอักขระนี้ไม่ได้แสดงในสตริงย่อย จะส่งกลับ -1ไวยากรณ์ของวิธีการ
public int lastIndexOf(int ch, int fromIndex)
พารามิเตอร์: ch : a character. fromIndex : ดัชนีที่จะเริ่มต้นการค้นหาจาก
ตัวอย่างโค้ดของ lastIndexOf(int ch, int fromIndex)
public class LastIndexOf2 {
public static void main(String args[])
{
//letter to find index in String
char letter = 'o';
//String to find an index of a letter
String myString = "This is major Tom to ground control, do you copy";
//The index of last appearance of o before 20th symbol will be printed
System.out.println("Last Index of o = " + myString.lastIndexOf(letter, 20));
}
}
ผลลัพธ์คือ:
ดัชนีสุดท้ายของ o = 19
หากเมื่อผ่านจากดัชนีไปยังจุดเริ่มต้นของบรรทัด ไม่พบอักขระ เมธอดจะคืนค่า -1:
public class LastIndexOf2 {
public static void main(String args[])
{
char letter = 'o';
String myString = "This is major Tom to ground control, do you copy";
System.out.println("Last Index of o = " + myString.lastIndexOf(letter, 10));
}
}
ผลลัพธ์คือ:
ดัชนีสุดท้ายของ o = -1
สุดท้ายดัชนีของ (สตริง str)
lastIndexOf(String str) : รูปแบบนี้ของวิธีการยอมรับสตริงเป็นอาร์กิวเมนต์และส่งคืนดัชนีภายในสตริงนี้ของการเกิดขึ้นครั้งแรกของสตริงย่อยที่ระบุ ถ้าไม่เกิดเป็นสตริงย่อย เมธอดจะคืนค่า -1ไวยากรณ์ของวิธีการ
public int lastIndexOf(String str)
พารามิเตอร์: str : สตริง
ตัวอย่างโค้ดของ lastIndexOf(String str)
public class LastIndexOf3 {
public static void main(String args[])
{
String myString = "This is major Tom to ground control, do you copy";
System.out.println( myString.lastIndexOf("Tom"));
}
}
ผลลัพธ์คือ:
14
หากไม่มีซับสตริง เมธอดจะส่งกลับ -1 ลองหาดัชนีของจุดเริ่มต้นของสตริงย่อย "tom"
public class LastIndexOf3 {
public static void main(String args[])
{
String myString = "This is major Tom to ground control, do you copy";
System.out.println( myString.lastIndexOf("tom"));
}
}
โปรดจำไว้ว่า “T” และ 't” เป็นสัญลักษณ์ที่แตกต่างกัน ดังนั้นจึงไม่มี “tom” ในสตริงนี้ นี่คือผลลัพธ์:
-1
lastIndexOf(String str, int fromIndex)
lastIndexOf(String str, int fromIndex) . ตัวแปรของเมธอดนี้ส่งคืนดัชนีภายในสตริงนี้ของการเกิดขึ้นครั้งล่าสุดของสตริงย่อยที่ระบุ โดยค้นหาย้อนหลังโดยเริ่มต้นที่ดัชนีที่ระบุไวยากรณ์ของวิธีการ
public int lastIndexOf(String str, int beg)
พารามิเตอร์ str : สตริง fromIndex : ดัชนีที่จะเริ่มต้นการค้นหาจาก
ตัวอย่างโค้ดของ lastIndexOf(String str, int fromIndex)
ลองหาดัชนีของการเกิดขึ้นครั้งล่าสุดของสตริงย่อย “ro” ในสตริง “นี่คือการควบคุม Tom หลักต่อกราวด์ คุณคัดลอกหรือไม่” ครั้งแรกเราจะดูสตริงทั้งหมด ครั้งที่สองเราจะเริ่มจากอักขระที่มีดัชนี 25 (ตามที่เราจำได้ ด้วยข้อจำกัดด้านบน การค้นหาดัชนีจะเริ่มต้นจากจุดสิ้นสุดไปยังจุดเริ่มต้น)
public class LastIndexOf4 {
public static void main(String[] args) {
String myString = "This is major Tom to ground control, do you copy";
System.out.println( myString.lastIndexOf("ro"));
System.out.println(myString.lastIndexOf("ro",25));
}
}
ผลลัพธ์คือ:
32 22
อ่านเพิ่มเติม: |
---|
GO TO FULL VERSION