5 วิธีในการจัดการสตริงใน Java

สารบัญ:

5 วิธีในการจัดการสตริงใน Java
5 วิธีในการจัดการสตริงใน Java

วีดีโอ: 5 วิธีในการจัดการสตริงใน Java

วีดีโอ: 5 วิธีในการจัดการสตริงใน Java
วีดีโอ: การใช้งานโปรแกรม Microsoft Access เบื้องต้น การสร้างตาราง การสร้างฟอร์ม การสร้างรายงาน | Access EP.1 2024, เมษายน
Anonim

สตริงคือลำดับของอักขระ ตัวอย่างเช่น "สวัสดี!" เป็นสตริงเพราะมันประกอบด้วยอักขระ 'H', 'e', 'l', 'l', 'o' และ '!' ใน Java สตริงคืออ็อบเจ็กต์ ซึ่งหมายความว่ามีคลาสสตริงที่มีฟิลด์และเมธอด เราสามารถใช้เมธอดของคลาส String เพื่อจัดการกับสตริง

ขั้นตอน

วิธีที่ 1 จาก 5: สร้างสตริง

3016567 1 1
3016567 1 1

ขั้นตอนที่ 1 สร้างสตริงโดยใช้ตัวสร้างของคลาส String

    สตริง str = สตริงใหม่ ("สวัสดี!");

3016567 2 1
3016567 2 1

ขั้นตอนที่ 2 สร้างสตริงโดยกำหนดสตริงโดยตรง

3016567 3 1
3016567 3 1

ขั้นตอนที่ 3 ลองตัวอย่าง

นี่คือตัวอย่างโปรแกรมที่สร้างสตริงในสองวิธีที่แตกต่างกัน

    คลาสสาธารณะ StringManipulation { โมฆะสาธารณะหลัก (สตริง args) { สตริง str1 = สตริงใหม่ ("สตริงที่สร้างด้วยตัวสร้าง!"); String str2 = "สตริงที่สร้างโดยไม่มีตัวสร้าง!"; System.out.println(str1); System.out.println(str2); } }

วิธีที่ 2 จาก 5: ค้นหาความยาวของสตริง

ขั้นตอนที่ 1 ทำความเข้าใจว่าการค้นหาความยาวของสตริงหมายความว่าอย่างไร

ความยาวของสตริงคือจำนวนอักขระที่สตริงนั้นมีอยู่ ตัวอย่างเช่น ความยาวของสตริง "สวัสดี!" คือ 6 เพราะมี 6 ตัวอักษร

3016567 5 1
3016567 5 1

ขั้นตอนที่ 2. เรียกใช้

ระยะเวลา()

เมธอดบนออบเจ็กต์ String และเก็บผลลัพธ์เป็นตัวแปรจำนวนเต็ม

    int strLength = str.length();

3016567 6 1
3016567 6 1

ขั้นตอนที่ 3 ให้มันไป

นี่คือตัวอย่างโปรแกรมที่หาความยาวของสตริง

    StringManipulation คลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง args) { String str = "สวัสดี!"; int strLength = str.length(); System.out.println("ความยาวของ \"" + str + "\" คือ " + strLength + "."); } }

วิธีที่ 3 จาก 5: ย้อนกลับสตริง

3016567 7
3016567 7

ขั้นตอนที่ 1 ทำความเข้าใจความหมายของการย้อนกลับสตริง

การย้อนกลับสตริงหมายถึงการเปลี่ยนลำดับของอักขระในสตริง ตัวอย่างเช่น การย้อนกลับของสตริง "สวัสดี!" คือ "!olleH" มีหลายวิธีในการย้อนกลับสตริงใน Java

3016567 8 1
3016567 8 1

ขั้นตอนที่ 2 ใช้วิธีการย้อนกลับของคลาส StringBuffer

สร้างวัตถุ StringBuffer ที่ใช้ในสตริงที่คุณต้องการย้อนกลับเป็นพารามิเตอร์ ใช้เมธอด reverse() ของ StringBuffer แล้วดึงสตริงที่ย้อนกลับใหม่โดยใช้เมธอด toString()

    คลาสสาธารณะ StringManipulation { โมฆะสาธารณะหลัก (สตริง args) { String str = "สวัสดี!"; บัฟเฟอร์ StringBuffer = ใหม่ StringBuffer (str); สตริง reversedStr = buffer.reverse().toString(); System.out.println("ส่วนกลับของสตริง \"" + str + "\" คือ \"" + reversedStr + "\"."); } }

3016567 9 1
3016567 9 1

ขั้นตอนที่ 3 วนซ้ำอักขระในสตริงย้อนกลับ โดยผนวกอักขระเหล่านี้เข้ากับ StringBuffer ในการวนซ้ำแต่ละครั้ง

สร้างวัตถุ StringBuffer ใหม่ที่เริ่มต้นด้วยความยาวของสตริงที่คุณต้องการย้อนกลับเป็นพารามิเตอร์ จากนั้นใช้ for loop เพื่อวนซ้ำในสตริง โดยเริ่มจากอักขระตัวสุดท้ายในสตริงและสิ้นสุดที่อักขระตัวแรกในสตริง ในการวนซ้ำแต่ละครั้ง ให้ผนวกอักขระที่ดัชนีนั้นต่อท้าย StringBuffer ดึงสตริงที่ย้อนกลับใหม่โดยใช้เมธอด toString()

    StringManipulation คลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง args) { String str = "สวัสดี!"; บัฟเฟอร์ StringBuffer = ใหม่ StringBuffer(str.length()); สำหรับ (int i = str.length() - 1; i >= 0; i--) { buffer.append(str.charAt(i)); } สตริง reversedStr = buffer.toString (); System.out.println("ส่วนกลับของสตริง \"" + str + "\" คือ \"" + reversedStr + "\"."); } }

3016567 10 1
3016567 10 1

ขั้นตอนที่ 4 เขียนฟังก์ชันแบบเรียกซ้ำเพื่อย้อนกลับสตริง

ในฟังก์ชันแบบเรียกซ้ำ กรณีฐาน / เงื่อนไขคือถ้าสตริงเป็นโมฆะหรือถ้าความยาวของสตริงน้อยกว่าหรือเท่ากับไม่มี มิฉะนั้น เมธอด reverse() จะถูกเรียกอีกครั้งโดยใช้สตริงลบอักขระตัวแรก และอักขระตัวแรกจะถูกตรึงที่ส่วนท้าย ดังนั้นหากเราส่งผ่านสตริง "Hello!" การเรียก reverse() ครั้งแรกหลังจากนั้นจะมีพารามิเตอร์ "ello!"

    StringManipulation คลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง args) { String str = "สวัสดี!"; สตริง reversedStr = ย้อนกลับ (str); System.out.println("ส่วนกลับของสตริง \"" + str + "\" คือ \"" + reversedStr + "\"."); } สตริงแบบคงที่ส่วนตัวย้อนกลับ (String str) { if (str == null || str.length() <= 1) return str; ย้อนกลับ(str.substring(1)) + str.charAt(0); } }

3016567 11 1
3016567 11 1

ขั้นตอนที่ 5. แปลงสตริงเป็นอาร์เรย์ของอักขระ จากนั้นสลับตัวแรกและตัวสุดท้าย ตัวที่สองและตัวที่สองเป็นตัวสุดท้าย ฯลฯ

ตัวอักษร ขั้นแรกให้แปลงสตริงเป็นอาร์เรย์ของอักขระโดยใช้เมธอด toCharArray() บนสตริง รับดัชนีของอักขระตัวสุดท้ายในอาร์เรย์ ซึ่งเท่ากับความยาวของอาร์เรย์ลบหนึ่ง จากนั้นวนซ้ำผ่านอาร์เรย์โดยสลับ iNS ตัวละครและ indexOfLastChar - iNS ตัวละครในการทำซ้ำแต่ละครั้ง สุดท้าย แปลงอาร์เรย์อักขระกลับเป็นสตริง

    StringManipulation คลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง args) { String str = "สวัสดี!"; ถ่าน charArray = str.toCharArray(); int indexOfLastChar = charArray.length - 1; สำหรับ (int i = 0; i < charArray.length/2; i++) { char temp = charArray; charArray = charArray[indexOfLastChar - i]; charArray[indexOfLastChar - i] = อุณหภูมิ; } String reversedStr = สตริงใหม่ (charArray); System.out.println("ส่วนกลับของสตริง \"" + str + "\" คือ \"" + reversedStr + "\"."); } }

3016567 12 1
3016567 12 1

ขั้นตอนที่ 6 ตรวจสอบผลลัพธ์ของคุณ

นี่คือผลลัพธ์ที่เกิดจากวิธีการใดวิธีการหนึ่งเหล่านี้สำหรับการกลับรายการสตริง

วิธีที่ 4 จาก 5: ตัดแต่ง White Space ในสตริง

3016567 13
3016567 13

ขั้นตอนที่ 1 ทำความเข้าใจความหมายของการตัดช่องว่างสีขาวในสตริง

การตัดแต่งสตริงใน Java หมายถึงการลบช่องว่างนำหน้าและต่อท้ายในสตริง ตัวอย่างเช่น หากคุณมีสตริง"

สวัสดีชาวโลก!

" และคุณต้องการให้มันพูดว่า "สวัสดี โลก!" โดยไม่มีช่องว่างสีขาวในตอนต้นและในตอนท้าย คุณสามารถตัดสตริงได้ คลาส String จัดเตรียมวิธีการ trim() ซึ่งจะส่งคืนสำเนาของสตริงด้วย ลบช่องว่างนำหน้าและต่อท้ายหรือสตริงเดิมหากไม่มีช่องว่างนำหน้าหรือต่อท้าย

3016567 14 1
3016567 14 1

ขั้นตอนที่ 2 ใช้เมธอด trim() ของคลาส String บนออบเจ็กต์ String เพื่อตัดช่องว่างสีขาว

โปรดทราบว่าเมธอด trim() จะส่งข้อยกเว้นหากสตริงเป็นค่าว่าง เมธอด trim() จะไม่เปลี่ยนเนื้อหาของสตริงดั้งเดิม เนื่องจากสตริงใน Java จะไม่เปลี่ยนรูป ซึ่งหมายความว่าสถานะของสตริงจะไม่สามารถแก้ไขได้หลังจากสร้างแล้ว แต่เมธอด trim() จะส่งคืนสตริงใหม่ที่มีการตัดช่องว่าง

    สตริง trimmedStr = str.trim();

ขั้นตอนที่ 3 ลองตัวอย่าง

นี่คือตัวอย่างโปรแกรมที่ตัดช่องว่างสีขาวของสตริง:

    คลาสสาธารณะ StringManipulation { โมฆะสาธารณะหลัก (สตริง args) { String str = "สวัสดี!"; สตริง trimmedStr = str.trim(); System.out.println("สตริงดั้งเดิมคือ \"" + str + "\"."); System.out.println("สตริงที่ถูกตัดแต่งคือ \"" + trimmedStr + "\"."); } }

วิธีที่ 5 จาก 5: แยกสตริง

3016567 16
3016567 16

ขั้นตอนที่ 1 ทำความเข้าใจความหมายของการแยกสตริง

การแยกสตริงใน Java หมายถึงการแยกสตริงด้วยตัวคั่นบางตัวเป็นอาร์เรย์ของสตริงย่อย ตัวอย่างเช่น ถ้าฉันแยกสตริง "แดง น้ำเงิน เขียว เหลือง ชมพู" ด้วยเครื่องหมายจุลภาคเป็นตัวคั่น ฉันจะได้รับอาร์เรย์ { "แดง" "น้ำเงิน" "เขียว" "เหลือง" "ชมพู" " } ต่อไปนี้เป็นสามวิธีในการแยกสตริง

3016567 17 1
3016567 17 1

ขั้นตอนที่ 2. ใช้

StringTokenizer

เพื่อสร้างโทเค็นให้กับสตริง

นำเข้า

java.util. StringTokenizer

. จากนั้นสร้างอินสแตนซ์ใหม่ของ a

StringTokenizer

โดยมีสตริงที่จะ tokenize และตัวคั่นเป็นพารามิเตอร์ หากคุณไม่ป้อนตัวคั่นเป็นพารามิเตอร์ ตัวคั่นจะมีค่าเริ่มต้นเป็นช่องว่างโดยอัตโนมัติ หลังจากที่คุณมี

StringTokenizer

คุณสามารถใช้

โทเค็นถัดไป ()

วิธีรับแต่ละโทเค็น

    นำเข้า java.util. Arrays; นำเข้า java.util. StringTokenizer; คลาสสาธารณะ StringManipulation { โมฆะสาธารณะหลัก (สตริง args) { สตริง str = "แดง, เขียว, น้ำเงิน, เหลือง, ชมพู"; StringTokenizer tokenizer = ใหม่ StringTokenizer (str, ", "); int numberOfTokens = tokenizer.countTokens (); สตริง splitArr = สตริงใหม่[numberOfTokens]; สำหรับ (int i = 0; i < numberOfTokens; i++) { splitArr = tokenizer.nextToken (); } System.out.println("\nสตริงดั้งเดิม: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

  • ก่อน Java 1.4, the

    StringTokenizer

    คลาสถูกใช้เพื่อแยกสตริงใน Java แต่ตอนนี้ การใช้

    StringTokenizer

    ท้อแท้และการใช้

    แยก()

    วิธีการใน

    สตริง

    คลาสหรือการใช้

    java.util.regex

  • แพคเกจได้รับการสนับสนุน
3016567 18 1
3016567 18 1

ขั้นตอนที่ 3 ใช้

สตริง

คลาส

แยก()

กระบวนการ.

NS

แยก()

วิธีการจะใช้ตัวคั่นเป็นพารามิเตอร์และส่งคืนอาร์เรย์ของสตริงย่อยที่เหมือนกับโทเค็นจาก

StringTokenizer

    นำเข้า java.util. Arrays; คลาสสาธารณะ StringManipulation { โมฆะสาธารณะหลัก (สตริง args) { สตริง str = "แดง, เขียว, น้ำเงิน, เหลือง, ชมพู"; สตริง splitArr = str.split(", "); System.out.println("\nสตริงดั้งเดิม: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

3016567 19 1
3016567 19 1

ขั้นตอนที่ 4 ใช้นิพจน์ทั่วไปเพื่อแยกสตริง

นำเข้า

java.util.regex. Pattern

. ใช้

รวบรวม()

วิธีการของ

ลวดลาย

คลาสเพื่อกำหนดตัวคั่นแล้วให้

แยก()

วิธีสตริงที่คุณต้องการแยก NS

ลวดลาย

จะส่งคืนอาร์เรย์ของสตริงย่อย

    นำเข้า java.util. Arrays; นำเข้า java.util.regex. Pattern; คลาสสาธารณะ StringManipulation { โมฆะสาธารณะหลัก (สตริง args) { สตริง str = "แดง, เขียว, น้ำเงิน, เหลือง, ชมพู"; สตริง splitArr = Pattern.compile(", ").split(str); System.out.println("\nสตริงดั้งเดิม: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

3016567 20 1
3016567 20 1

ขั้นตอนที่ 5. ตรวจสอบผลลัพธ์ของคุณ

นี่คือผลลัพธ์ที่เกิดจากวิธีใดวิธีหนึ่งเหล่านี้สำหรับการแยกสตริง

แนะนำ: