คลาส StringTokenizerใน Java จัดเตรียมวิธี tokenizer Stringสำหรับการแยกสตริงออกเป็นโทเค็นตามตัวคั่นที่ระบุ สตริงโทเค็นอาจเป็นสตริงใดๆ ที่แยกโทเค็น เช่น เครื่องหมายจุลภาค อัฒภาค หรือช่องว่าง การใช้วิธี tokenizer Stringของ คลาส StringTokenizerเราสามารถแยกสตริงออกเป็นส่วนที่เป็นส่วนประกอบได้ ด้วยการ เรียกใช้เมธอด nextToken()เราสามารถดึงโทเค็นแต่ละอันกลับมาได้ และโดยใช้เมธอดhasMoreTokens()เราจะสามารถตรวจสอบได้ว่ายังมีโทเค็นเหลืออยู่หรือไม่ สามารถใช้เมธอด length() ของคลาส StringTokenizer เพื่อรับความยาวของโทเค็นแต่ละรายการได้ StringTokenizer Stringเป็นเครื่องมือที่มีประโยชน์สำหรับการจัดการสตริง และสามารถใช้เพื่อแยกวิเคราะห์ไฟล์ CSV, URL หรือข้อมูลที่เป็นข้อความอื่นๆ คลาสStringTokenizerเป็นส่วนหนึ่งของ แพ็กเกจ Java.utilและจัดเตรียมวิธีง่ายๆ ในการแบ่งสตริงออกเป็นโทเค็น คลาสมีคอนสตรัคเตอร์สองตัว ตัวหนึ่งใช้สตริงเพื่อทำโทเค็นและอักขระหรือสตริงตัวคั่น และอีกตัวหนึ่งรับอาร์กิวเมนต์เดียวกัน เช่นเดียวกับแฟล็กบูลีนที่ระบุว่าจะรวมตัวคั่นเป็นโทเค็นหรือไม่ เมื่อคุณสร้าง ออบเจ็กต์ StringTokenizerแล้ว คุณสามารถใช้วิธีการต่างๆ ของมันเพื่อวนซ้ำโทเค็นและดำเนินการต่างๆ กับโทเค็นเหล่านั้นได้
วิธีโทเค็น
วิธีการโทเค็นเป็นกระบวนการแยกสตริงออกเป็นส่วนเล็ก ๆ หรือโทเค็น กระบวนการนี้ดำเนินการโดยใช้ตัวคั่น ซึ่งอาจเป็นอักขระหรือสตริงอักขระที่แยกแต่ละโทเค็น ตัวอย่างเช่น พิจารณาสตริงต่อไปนี้:
String input = "Hello World! How are you today?";
หากเราต้องการแยกสตริงนี้ออกเป็นคำเดี่ยวๆ เราสามารถใช้อักขระเว้นวรรคเป็นตัวคั่นได้ เช่น:
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println(token);
}
เอาท์พุต
สวัสดีชาวโลก! วันนี้คุณเป็นอย่างไรบ้าง?
ในตัวอย่างนี้ เราสร้าง ออบเจ็กต์ StringTokenizer ใหม่ โดยมีสตริงอินพุตและอักขระเว้นวรรคเป็นตัวคั่น จากนั้นเราจะวนซ้ำโทเค็นโดยใช้ วิธี hasMoreTokens()และดึงข้อมูลแต่ละโทเค็นโดยใช้วิธีnextToken() ในที่สุด เราก็พิมพ์แต่ละโทเค็นไปยังคอนโซล
ความยาวโทเค็น
นอกเหนือจากฟังก์ชันการทำงานพื้นฐานที่ได้รับจากเมธอดnextToken() แล้ว คลาส StringTokenizerยังมีวิธีการในการดึงความยาวของโทเค็นแต่ละอันและการดึงโทเค็นเฉพาะตามดัชนีอีกด้วย หากต้องการทราบความยาวของโทเค็นปัจจุบัน คุณสามารถใช้วิธีtoken.length() ได้ ตัวอย่างเช่น:
public class StringTokenizerExample {
public static void main(String[] args) {
String input = "Hello World! How are you today?";
StringTokenizer tokenizer = new StringTokenizer(input, " ");
while (tokenizer.hasMoreTokens()) {
String token = tokenizer.nextToken();
System.out.println("Token: " + token + " Length: " + token.length());
}
}
}
เอาท์พุต
โทเค็น: สวัสดี ความยาว: 5 โทเค็น: โลก! ความยาว: 6 โทเค็น: ความยาว: 3 โทเค็น: มีความยาว: 3 โทเค็น: คุณ ความยาว: 3 โทเค็น: วันนี้? ความยาว: 6
ในตัวอย่างนี้ เราดึงข้อมูลแต่ละโทเค็นเหมือนเมื่อก่อน แต่ยังใช้ วิธี length()เพื่อรับความยาวของแต่ละโทเค็น ซึ่งเราจะพิมพ์ไปยังคอนโซล
ตัวอย่าง
ลองมาดูตัวอย่างที่สมบูรณ์ที่สาธิตวิธีการใช้ คลาส StringTokenizerใน Java:
public class Example {
public static void main(String[] args) {
String input = "John,Doe,123 Main St.,Anytown,USA";
StringTokenizer tokenizer = new StringTokenizer(input, ",");
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
}
}
เอาท์พุต
John Doe 123 Main St. Anytown สหรัฐอเมริกา
ในตัวอย่างนี้ เรามีสตริงที่แสดงรายการค่าที่คั่นด้วยเครื่องหมายจุลภาค เราสร้าง วัตถุ StringTokenizer ใหม่ โดยใช้สตริงนี้และเครื่องหมายจุลภาคเป็นตัวคั่น จากนั้นเราจะวนซ้ำโทเค็นโดยใช้ วิธี hasMoreTokens()และดึงข้อมูลแต่ละโทเค็นโดยใช้วิธีnextToken() ในที่สุด เราก็พิมพ์แต่ละโทเค็นไปยังคอนโซล โปรดทราบว่าเราไม่ได้ใช้ เมธอด length()ในตัวอย่างนี้ เนื่องจากเราสนใจเฉพาะโทเค็นแต่ละรายการเท่านั้น
GO TO FULL VERSION