5 cách để thao tác chuỗi trong Java

Mục lục:

5 cách để thao tác chuỗi trong Java
5 cách để thao tác chuỗi trong Java

Video: 5 cách để thao tác chuỗi trong Java

Video: 5 cách để thao tác chuỗi trong Java
Video: Access 04 - Tạo các truy vấn query trong MS Access 2024, Tháng tư
Anonim

Chuỗi là chuỗi các ký tự. Ví dụ: "Xin chào!" là một chuỗi vì nó được tạo thành từ các ký tự 'H', 'e', 'l', 'l', 'o' và '!'. Trong Java, chuỗi là đối tượng, có nghĩa là có một lớp String có các trường và phương thức. Chúng ta có thể sử dụng các phương thức của lớp String để thao tác với các chuỗi.

Các bước

Phương pháp 1/5: Tạo chuỗi

3016567 1 1
3016567 1 1

Bước 1. Tạo một chuỗi bằng cách sử dụng hàm tạo của lớp String

    String str = new String ("Xin chào!");

3016567 2 1
3016567 2 1

Bước 2. Tạo một chuỗi bằng cách gán trực tiếp một chuỗi

3016567 3 1
3016567 3 1

Bước 3. Hãy thử một ví dụ

Đây là một chương trình mẫu tạo một chuỗi theo hai cách khác nhau.

    public class StringManipulation {public static void main (String args) {String str1 = new String ("Chuỗi được tạo bằng một hàm tạo!"); String str2 = "Chuỗi được tạo mà không có hàm tạo!"; System.out.println (str1); System.out.println (str2); }}

Phương pháp 2/5: Tìm độ dài của một chuỗi

Bước 1. Hiểu ý nghĩa của việc tìm độ dài của một chuỗi

Độ dài của một chuỗi là số ký tự mà chuỗi đó chứa. Ví dụ: độ dài của chuỗi "Xin chào!" là 6 vì nó có 6 ký tự.

3016567 5 1
3016567 5 1

Bước 2. Gọi

chiều dài()

trên đối tượng String và lưu trữ kết quả trong một biến số nguyên.

    int strLength = str.length ();

3016567 6 1
3016567 6 1

Bước 3. Hãy thử

Đây là một chương trình mẫu tìm độ dài của một chuỗi.

    public class StringManipulation {public static void main (String args) {String str = "Xin chào!"; int strLength = str.length (); System.out.println ("Chiều dài của \" "+ str +" / "là" + strLength + "."); }}

Phương pháp 3/5: Đảo ngược một chuỗi

3016567 7
3016567 7

Bước 1. Hiểu ý nghĩa của việc đảo ngược một chuỗi

Đảo ngược một chuỗi có nghĩa là chuyển đổi thứ tự của các ký tự trong một chuỗi. Ví dụ, ngược lại của chuỗi "Xin chào!" là "! olleH". Có nhiều cách để đảo ngược một chuỗi trong Java.

3016567 8 1
3016567 8 1

Bước 2. Sử dụng phương thức đảo ngược của lớp StringBuffer

Tạo một đối tượng StringBuffer lấy chuỗi mà bạn muốn đảo ngược làm tham số. Sử dụng phương thức reverse () của StringBuffer và sau đó truy xuất chuỗi mới được đảo ngược bằng cách sử dụng phương thức toString ().

    public class StringManipulation {public static void main (String args) {String str = "Xin chào!"; Bộ đệm StringBuffer = new StringBuffer (str); Chuỗi đảo ngượcStr = buffer.reverse (). ToString (); System.out.println ("Đảo ngược của chuỗi \" "+ str +" / "là \" "+ reverseStr +" / "."); }}

3016567 9 1
3016567 9 1

Bước 3. Lặp lại các ký tự trong một chuỗi ngược lại, nối các ký tự này vào một StringBuffer ở mỗi lần lặp

Tạo một đối tượng StringBuffer mới được khởi tạo với độ dài của chuỗi mà bạn muốn đảo ngược làm tham số. Sau đó, sử dụng vòng lặp for để lặp qua chuỗi, bắt đầu từ ký tự cuối cùng trong chuỗi và kết thúc ở ký tự đầu tiên trong chuỗi. Tại mỗi lần lặp, hãy nối ký tự tại chỉ mục đó vào StringBuffer. Lấy chuỗi mới được đảo ngược bằng cách sử dụng phương thức toString ().

    public class StringManipulation {public static void main (String args) {String str = "Xin chào!"; Bộ đệm StringBuffer = new StringBuffer (str.length ()); for (int i = str.length () - 1; i> = 0; i--) {buffer.append (str.charAt (i)); } Chuỗi đảo ngượcStr = buffer.toString (); System.out.println ("Đảo ngược của chuỗi \" "+ str +" / "là \" "+ reverseStr +" / "."); }}

3016567 10 1
3016567 10 1

Bước 4. Viết hàm đệ quy để đảo ngược chuỗi

Trong hàm đệ quy, trường hợp / điều kiện cơ sở là nếu chuỗi là rỗng hoặc nếu độ dài của chuỗi nhỏ hơn hoặc bằng không. Nếu không, phương thức reverse () được gọi lại với chuỗi trừ đi ký tự đầu tiên và ký tự đầu tiên được gắn vào cuối. Vì vậy, nếu chúng ta truyền vào chuỗi "Hello!", Lệnh gọi ngược () đầu tiên sau đó sẽ có tham số "ello!".

    public class StringManipulation {public static void main (String args) {String str = "Xin chào!"; Chuỗi đảo ngượcStr = đảo ngược (str); System.out.println ("Đảo ngược của chuỗi \" "+ str +" / "là \" "+ reverseStr +" / "."); } private static String reverse (String str) {if (str == null || str.length () <= 1) return str; trả về đảo ngược (str.substring (1)) + str.charAt (0); }}

3016567 11 1
3016567 11 1

Bước 5. Chuyển đổi chuỗi thành một mảng ký tự và sau đó hoán đổi ký tự đầu tiên và cuối cùng, thứ hai và thứ hai thành cuối cùng, v.v

nhân vật. Đầu tiên chuyển đổi chuỗi thành một mảng ký tự bằng cách sử dụng phương thức toCharArray () trên chuỗi. Lấy chỉ số của ký tự cuối cùng trong mảng, bằng độ dài của mảng trừ đi một. Sau đó, lặp qua mảng, hoán đổi iNS ký tự và indexOfLastChar - iNS ký tự ở mỗi lần lặp. Cuối cùng, chuyển đổi mảng ký tự trở lại thành một chuỗi.

    public class StringManipulation {public static void main (String args) {String str = "Xin chào!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; for (int i = 0; i <charArray.length / 2; i ++) {char temp = charArray ; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - i] = temp; } Chuỗi đảo ngượcStr = new String (charArray); System.out.println ("Đảo ngược của chuỗi \" "+ str +" / "là \" "+ reverseStr +" / "."); }}

3016567 12 1
3016567 12 1

Bước 6. Xem lại kết quả đầu ra của bạn

Đây là kết quả đầu ra từ bất kỳ một trong những phương pháp này để đảo ngược chuỗi.

Phương pháp 4/5: Cắt bỏ khoảng trắng trong một chuỗi

3016567 13
3016567 13

Bước 1. Hiểu ý nghĩa của việc cắt bớt khoảng trắng trong một chuỗi

Cắt một chuỗi trong Java có nghĩa là loại bỏ khoảng trắng đầu và cuối trong chuỗi. Ví dụ: nếu bạn có chuỗi"

Chào thế giới!

"và bạn muốn nó nói" Xin chào, thế giới! "mà không có khoảng trắng ở đầu và cuối cùng, bạn có thể cắt chuỗi. Lớp String cung cấp một phương thức để trim () trả về một bản sao của chuỗi với Khoảng trắng đầu và cuối bị xóa hoặc chuỗi ban đầu nếu nó không có khoảng trắng ở đầu hoặc cuối.

3016567 14 1
3016567 14 1

Bước 2. Sử dụng phương thức trim () của lớp String trên một đối tượng String để cắt bỏ khoảng trắng

Lưu ý rằng phương thức trim () sẽ ném ra một ngoại lệ nếu chuỗi là null. Phương thức trim () sẽ không thay đổi nội dung của chuỗi gốc vì các chuỗi trong Java là bất biến, có nghĩa là không thể sửa đổi trạng thái của chuỗi sau khi nó được tạo. Thay vào đó, phương thức trim () sẽ trả về một chuỗi mới đã bị cắt bớt khoảng trắng.

    Chuỗi trimmedStr = str.trim ();

Bước 3. Hãy thử một ví dụ

Đây là một chương trình mẫu cắt bỏ khoảng trắng của một chuỗi:

    public class StringManipulation {public static void main (String args) {String str = "Xin chào!"; Chuỗi trimmedStr = str.trim (); System.out.println ("Chuỗi gốc là \" "+ str +" / "."); System.out.println ("Chuỗi được cắt ngắn là \" "+ trimmedStr +" / "."); }}

Phương pháp 5/5: Tách một chuỗi

3016567 16
3016567 16

Bước 1. Hiểu ý nghĩa của việc tách một chuỗi

Tách một chuỗi trong Java có nghĩa là chia một chuỗi bằng một dấu phân cách nhất định thành một mảng các chuỗi con. Ví dụ: nếu tôi chia chuỗi "đỏ, xanh dương, xanh lá cây, vàng, hồng" bằng dấu phẩy làm dấu phân cách, tôi sẽ nhận được mảng {"đỏ", "xanh lam", "xanh lục", "vàng", "hồng "}. Dưới đây là ba cách khác nhau để chia một chuỗi.

3016567 17 1
3016567 17 1

Bước 2. Sử dụng

StringTokenizer

để mã hóa chuỗi.

Nhập khẩu

java.util. StringTokenizer

. Sau đó, tạo một phiên bản mới của

StringTokenizer

với chuỗi để mã hóa và dấu phân cách dưới dạng tham số. Nếu bạn không nhập dấu phân cách làm tham số, dấu phân cách sẽ tự động mặc định là khoảng trắng. Sau khi bạn có

StringTokenizer

bạn có thể dùng

nextToken ()

phương pháp để lấy từng mã thông báo.

    nhập java.util. Arrays; nhập java.util. StringTokenizer; public class StringManipulation {public static void main (String args) {String str = "red, green, blue, yellow, pink"; StringTokenizer tokenizer = new StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = new String [numberOfTokens]; for (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ n Chuỗi gốc:" + str); System.out.println ("Mảng tách:" + Arrays.toString (splitArr) + "\ n"); }}

  • Trước Java 1.4,

    StringTokenizer

    lớp được sử dụng để tách chuỗi trong Java. Nhưng bây giờ, việc sử dụng

    StringTokenizer

    không được khuyến khích và việc sử dụng

    tách ra()

    phương pháp trong

    Dây

    lớp học hoặc việc sử dụng

    java.util.regex

  • gói được khuyến khích.
3016567 18 1
3016567 18 1

Bước 3. Sử dụng

Dây

của lớp

tách ra()

phương pháp.

Các

tách ra()

phương thức sẽ nhận dấu phân tách dưới dạng tham số và trả về một mảng các chuỗi con giống với các mã thông báo từ

StringTokenizer

    nhập java.util. Arrays; public class StringManipulation {public static void main (String args) {String str = "red, green, blue, yellow, pink"; String splitArr = str.split (","); System.out.println ("\ n Chuỗi gốc:" + str); System.out.println ("Mảng tách:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 19 1
3016567 19 1

Bước 4. Sử dụng biểu thức chính quy để chia chuỗi

Nhập khẩu

java.util.regex. Pattern

. Sử dụng

biên dịch ()

phương pháp của

Mẫu

lớp để thiết lập dấu phân cách và sau đó cung cấp

tách ra()

phương thức chuỗi mà bạn muốn tách. Các

Mẫu

sẽ trả về một mảng các chuỗi con.

    nhập java.util. Arrays; nhập java.util.regex. Pattern; public class StringManipulation {public static void main (String args) {String str = "red, green, blue, yellow, pink"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ n Chuỗi gốc:" + str); System.out.println ("Mảng tách:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 20 1
3016567 20 1

Bước 5. Xem lại kết quả đầu ra của bạn

Đây là kết quả từ bất kỳ một trong những phương pháp này để tách chuỗi.

Đề xuất: