So sánh chuỗi char với 1 số năm 2024

Một trong những thao tác phổ biến nhất với chuỗi là so sánh. Lớp String có hơn mười phương thức khác nhau được sử dụng để so sánh một chuỗi với một chuỗi khác. Dưới đây chúng ta sẽ xem xét bảy trong số những cái chính.

phương pháp Sự miêu tả

boolean equals(String str)

Các chuỗi được coi là bằng nhau nếu tất cả các ký tự của chúng khớp nhau.

boolean equalsIgnoreCase(String str)

So sánh các chuỗi, bỏ qua trường hợp của các chữ cái (bỏ qua chúng là chữ hoa hay chữ thường)

int compareTo(String str)

So sánh các chuỗi theo từ điển. Trả về 0 nếu các chuỗi bằng nhau. Giá trị trả về nhỏ hơn 0 nếu chuỗi hiện tại nhỏ hơn tham số chuỗi. Giá trị trả về lớn hơn nếu chuỗi hiện tại lớn hơn tham số chuỗi.

int compareToIgnoreCase(String str)

So sánh các chuỗi theo từ điển trong khi bỏ qua trường hợp. Trả về 0 nếu các chuỗi bằng nhau. Giá trị trả về là âm nếu chuỗi hiện tại nhỏ hơn tham số chuỗi. Giá trị trả về lớn hơn nếu chuỗi hiện tại lớn hơn tham số chuỗi.

boolean regionMatches(int toffset, String str, int offset, int len)

So sánh các phần của chuỗi

boolean startsWith(String prefix)

Kiểm tra xem chuỗi hiện tại có bắt đầu bằng chuỗi không

boolean endsWith(String suffix)

2

boolean endsWith(String suffix)

Kiểm tra xem chuỗi hiện tại có kết thúc bằng chuỗi không

boolean endsWith(String suffix)

3

Giả sử bạn muốn viết một chương trình yêu cầu người dùng cung cấp đường dẫn đến một tệp và sau đó kiểm tra loại tệp dựa trên phần mở rộng của nó. Mã của một chương trình như vậy có thể trông giống như thế này:

Mã số ghi chú

Scanner console = new Scanner(System.in);
String path = console.nextLine();
if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}

Tạo một

boolean endsWith(String suffix)

4đối tượng Đọc một dòng từ bàn điều khiển

Kiểm tra xem chuỗi

boolean endsWith(String suffix)

5có kết thúc bằng chuỗi đã cho hay không



2. Tìm kiếm chuỗi con

Sau khi so sánh các chuỗi, thao tác phổ biến thứ hai là tìm một chuỗi bên trong một chuỗi khác. Lớp String cũng có một vài phương thức cho việc này:

phương pháp Sự miêu tả

int indexOf(String str)

Tìm kiếm chuỗi

boolean endsWith(String suffix)

6trong chuỗi hiện tại. Trả về chỉ số của ký tự đầu tiên của lần xuất hiện đầu tiên.

int indexOf(String str, int index)

Tìm kiếm chuỗi

boolean endsWith(String suffix)

6trong chuỗi hiện tại, bỏ qua

boolean endsWith(String suffix)

8các ký tự đầu tiên. Trả về chỉ mục của sự xuất hiện.

boolean equalsIgnoreCase(String str)

0 Tìm kiếm chuỗi

boolean endsWith(String suffix)

6trong chuỗi hiện tại, bắt đầu từ cuối. Trả về chỉ mục của lần xuất hiện đầu tiên.

boolean equalsIgnoreCase(String str)

1 Tìm kiếm chuỗi

boolean endsWith(String suffix)

6trong chuỗi hiện tại từ cuối, bỏ qua

boolean endsWith(String suffix)

8các ký tự đầu tiên.

boolean equalsIgnoreCase(String str)

2 Kiểm tra xem chuỗi hiện tại có khớp với mẫu được chỉ định bởi biểu thức chính quy hay không.

Các phương pháp

Scanner console = new Scanner(System.in);
String path = console.nextLine();
if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}

2và

Scanner console = new Scanner(System.in);
String path = console.nextLine();
if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}

3thường được sử dụng kết hợp. Phương thức đầu tiên cho phép bạn tìm sự xuất hiện đầu tiên của chuỗi con đã truyền trong chuỗi hiện tại. Và phương pháp thứ hai cho phép bạn tìm các lần xuất hiện thứ hai, thứ ba, v.v. bằng cách bỏ qua các ký tự chỉ mục đầu tiên.

Giả sử chúng tôi có một url như " https://domain.com/about/reviews " và chúng tôi muốn thay thế tên miền bằng " codegym.cc ". Các url có thể có tất cả các loại tên miền khác nhau, nhưng chúng tôi biết những điều sau:

  • Tên miền được bắt đầu bằng hai dấu gạch chéo lên — "

    Scanner console = new Scanner(System.in); String path = console.nextLine(); if (path.endsWith(".jpg") || path.endsWith(".jpeg")) { System.out.println("This is a jpeg!"); } else if (path.endsWith(".htm") || path.endsWith(".html")) { System.out.println("This is an HTML page"); } else if (path.endsWith(".doc") || path.endsWith(".docx")) { System.out.println("This is a Word document"); } else { System.out.println("Unknown format"); }

    4"
  • Theo sau tên miền là một dấu gạch chéo đơn — "

    Scanner console = new Scanner(System.in); String path = console.nextLine(); if (path.endsWith(".jpg") || path.endsWith(".jpeg")) { System.out.println("This is a jpeg!"); } else if (path.endsWith(".htm") || path.endsWith(".html")) { System.out.println("This is an HTML page"); } else if (path.endsWith(".doc") || path.endsWith(".docx")) { System.out.println("This is a Word document"); } else { System.out.println("Unknown format"); }

    5"

Đây là mã cho một chương trình như vậy sẽ như thế nào:

Mã số ghi chú

boolean equalsIgnoreCase(String str)

3 Tạo một đối tượng Scanner Đọc một dòng từ bàn điều khiển

Lấy chỉ mục của lần xuất hiện đầu tiên của chuỗi "

Scanner console = new Scanner(System.in);
String path = console.nextLine();
if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}

4" Chúng tôi nhận được chỉ mục của lần xuất hiện đầu tiên của chuỗi

Scanner console = new Scanner(System.in);
String path = console.nextLine();
if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}

5, nhưng chỉ xem sau lần xuất hiện của các ký tự

Scanner console = new Scanner(System.in);
String path = console.nextLine();
if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}

4. Ta lấy xâu từ đầu đến cuối kí tự

Scanner console = new Scanner(System.in);
String path = console.nextLine();
if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}

4 Ta lấy xâu từ

Scanner console = new Scanner(System.in);
String path = console.nextLine();
if (path.endsWith(".jpg") || path.endsWith(".jpeg"))
{
   System.out.println("This is a jpeg!");
}
else if (path.endsWith(".htm") || path.endsWith(".html"))
{
   System.out.println("This is an HTML page");
}
else if (path.endsWith(".doc") || path.endsWith(".docx"))
{
   System.out.println("This is a Word document");
}
else
{
   System.out.println("Unknown format");
}

5đầu đến cuối.

Chúng tôi nối các chuỗi và miền mới.

Các phương thức

int indexOf(String str)

1và

int indexOf(String str)

2hoạt động theo cùng một cách, chỉ có điều tìm kiếm được thực hiện từ cuối chuỗi đến đầu.



3. Tạo chuỗi con

Ngoài việc so sánh các chuỗi và tìm chuỗi con, còn có một hành động rất phổ biến khác: lấy chuỗi con từ một chuỗi. Khi nó xảy ra, ví dụ trước cho bạn thấy một

int indexOf(String str)

3lệnh gọi phương thức trả về một phần của chuỗi.

Dưới đây là danh sách 8 phương thức trả về chuỗi con từ chuỗi hiện tại:

phương pháp Sự miêu tả

boolean equalsIgnoreCase(String str)

4 Trả về chuỗi con được chỉ định bởi phạm vi chỉ mục

int indexOf(String str)

4.

boolean equalsIgnoreCase(String str)

5 Lặp lại chuỗi hiện tại n lần

boolean equalsIgnoreCase(String str)

6 Trả về một chuỗi mới: thay thế ký tự

int indexOf(String str)

5bằng ký tự

int indexOf(String str)

6

boolean equalsIgnoreCase(String str)

7 Thay thế chuỗi con đầu tiên, được chỉ định bởi một biểu thức chính quy, trong chuỗi hiện tại.

boolean equalsIgnoreCase(String str)

8 Thay thế tất cả các chuỗi con trong chuỗi hiện tại khớp với biểu thức chính quy.

boolean equalsIgnoreCase(String str)

9 Chuyển đổi chuỗi thành chữ thường

int compareTo(String str)

0 Chuyển đổi chuỗi thành chữ hoa

int compareTo(String str)

1 Loại bỏ tất cả khoảng trắng ở đầu và cuối chuỗi

Dưới đây là tóm tắt các phương pháp có sẵn:

int indexOf(String str)

7phương pháp

Phương

int indexOf(String str)

8thức trả về một chuỗi mới bao gồm các ký tự trong chuỗi hiện tại, bắt đầu từ ký tự có chỉ số

int indexOf(String str)

9và kết thúc tại

int indexOf(String str, int index)

0. Như với tất cả các khoảng trong Java, ký tự có chỉ mục

int indexOf(String str, int index)

0không được bao gồm trong khoảng. Ví dụ:

Mã số Kết quả

boolean startsWith(String prefix)

4

int compareToIgnoreCase(String str)

7

boolean startsWith(String prefix)

6

int compareToIgnoreCase(String str)

5

boolean startsWith(String prefix)

8

boolean startsWith(String prefix)

9

boolean endsWith(String suffix)

0

boolean endsWith(String suffix)

1