Làm thế nào để bạn cắt khoảng trắng từ một chuỗi?

Đưa ra một Chuỗi có khoảng trắng, nhiệm vụ là xóa tất cả các khoảng trắng khỏi chuỗi bằng các phương thức tích hợp sẵn của Java.  

ví dụ

Input: str = "       Geeks     for    Geeks   "            
Output: GeeksforGeeks

Input:  str = "    A  Computer  Science   Portal"
Output: AComputerSciencePortal

Khuyến khích. Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp

Để xóa tất cả các khoảng trắng khỏi Chuỗi, hãy sử dụng phương thức replaceAll[] của lớp Chuỗi với hai đối số, i. e

Hôm nay, chúng ta sẽ xem xét một số cách khác nhau để xóa khoảng trắng ở đầu hoặc cuối chuỗi bằng vanilla JavaScript

Nào cùng đào vào bên trong

Phương pháp
var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];
0

Bạn có thể gọi phương thức

var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];
1 trên chuỗi của mình để xóa khoảng trắng ở đầu và cuối chuỗi. Nó trả về một chuỗi mới

var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];

Phương pháp

var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];
0 hoạt động trong tất cả các trình duyệt hiện đại và quay lại IE9

Phương pháp
var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];
3

Phương thức

var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];
4 hoạt động giống như
var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];
1, nhưng chỉ loại bỏ khoảng trắng ở đầu chuỗi

// returns "Hello there!    "
hello.trimStart[];

Phương pháp

var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];
3 hoạt động trong tất cả các trình duyệt hiện đại, nhưng không hỗ trợ IE. Bạn có thể đẩy hỗ trợ trở lại IE9 bằng một polyfill

Phương pháp
// returns "Hello there!    "
hello.trimStart[];
0

Phương thức

// returns "Hello there!    "
hello.trimStart[];
1 hoạt động giống như
var hello = '     Hello there!    ';

// returns "Hello there!"
hello.trim[];
4, nhưng loại bỏ khoảng trắng ở cuối chuỗi thay vì ở đầu

// returns "     Hello there!"
hello.trimEnd[];

Phương pháp

// returns "Hello there!    "
hello.trimStart[];
0 hoạt động trong tất cả các trình duyệt hiện đại, nhưng không hỗ trợ IE. Bạn có thể đẩy hỗ trợ trở lại IE9 bằng một polyfill

Ví dụ trên cho thấy biến myString chứa nhiều ký tự đầu, cuối và khoảng trắng ở giữa

Thông thường, khi cần xử lý một chuỗi như myString trong Java, chúng ta thường gặp phải hai yêu cầu này

  • xóa tất cả các ký tự khoảng trắng khỏi chuỗi đã cho -> “IamawonderfulString. ”
  • thay thế các ký tự khoảng trắng liên tiếp bằng một khoảng trắng và xóa tất cả các ký tự khoảng trắng ở đầu và cuối -> “Tôi là một Chuỗi tuyệt vời. ”

Tiếp theo, chúng tôi sẽ giải quyết hai cách tiếp cận cho từng trường hợp. sử dụng phương thức replaceAll[] tiện dụng từ lớp String và lớp StringUtils từ thư viện Apache Commons Lang3 được sử dụng rộng rãi

Để đơn giản hóa, trong hướng dẫn này, chúng tôi không đề cập đến các ký tự khoảng trắng trong bộ ký tự Unicode khi nói về khoảng trắng. Hơn nữa, chúng tôi sẽ sử dụng các xác nhận thử nghiệm để xác minh từng giải pháp

Bây giờ, hãy xem chúng hoạt động

3. Xóa tất cả khoảng trắng khỏi chuỗi

3. 1. Sử dụng Chuỗi. thay thế tất cả[]

Trước tiên, hãy xóa tất cả khoảng trắng khỏi chuỗi bằng phương thức replaceAll[]

replaceAll[] hoạt động với các biểu thức chính quy [regex]. Chúng ta có thể sử dụng lớp ký tự regex ‘\s‘ để khớp với ký tự khoảng trắng. Chúng ta có thể thay thế từng ký tự khoảng trắng trong chuỗi nhập bằng một chuỗi rỗng để giải quyết vấn đề. chuỗi đầu vào. replaceAll[“\\s”, “”]

Tiếp theo, hãy tạo một thử nghiệm để xem ý tưởng này có hoạt động với chuỗi ví dụ của chúng ta không

String result = myString.replaceAll["\\s", ""];
assertThat[result].isEqualTo["IamawonderfulString!"];

Nếu chúng tôi chạy thử nghiệm, nó sẽ vượt qua. Vì vậy, phương pháp replaceAll[] giải quyết được vấn đề. Tiếp theo, hãy giải quyết vấn đề bằng Apache Commons Lang3

3. 2. Sử dụng Thư viện Apache Commons Lang3

Thư viện Apache Commons Lang3 đi kèm với tiện ích StringUtils, cho phép chúng ta thao tác với các chuỗi một cách thuận tiện

Để bắt đầu sử dụng Apache Commons Lang 3, hãy thêm phần phụ thuộc Maven

________số 8

Nếu chúng ta kiểm tra các phương thức trong lớp StringUtils, có một phương thức được gọi là deleteWhitespace[]. Tên ngụ ý rằng đó là phương pháp mà chúng tôi đang tìm kiếm

Tiếp theo, hãy xóa tất cả khoảng trắng khỏi chuỗi bằng StringUtils. xóa khoảng trắng[]

String result = StringUtils.deleteWhitespace[myString];
assertThat[result].isEqualTo["IamawonderfulString!"];

Bài kiểm tra vượt qua nếu chúng tôi thực hiện nó. Như chúng ta có thể thấy, StringUtils. normalizeSpace[] khá đơn giản để sử dụng

Chủ Đề