Trong bài viết này, chúng ta sẽ tìm hiểu cách thay thế nhiều khoảng trắng bằng một khoảng trắng chỉ bằng một dòng mã trong JavaScript. Đây là đoạn mã JavaScript một dòng sử dụng một trong những tính năng phổ biến nhất của ES6 => Arrow Function
Hãy xác định chức năng ngắn này
Regex được biết đến như một biểu thức chính quy. Để phù hợp với các giá trị, chúng tôi tạo ra một số loại mẫu thống nhất. Nó giúp khớp các chuỗi với các mẫu được chỉ định. Vì chúng ta cần tìm ra nhiều khoảng trắng trong chuỗi đã cho, biểu thức chính quy cho nó sẽ là - '/ +/g'. Chữ 'g' ở đây thể hiện rằng nó dành cho tìm kiếm toàn cầu. Bằng cách này, chúng ta có thể tìm thấy các khoảng trắng thừa trong một chuỗi
cú pháp
'/ +/g'
Bây giờ, chúng ta cần thay thế các khoảng trắng được tìm thấy này bằng một dấu cách duy nhất. Đối với điều này, phương thức thay thế [] sẽ được sử dụng. Đó là một phương thức sẵn có của JavaScript giúp thay thế một ký tự bằng một số ký tự hoặc chuỗi khác. Nó nhận hai tham số - ký tự/chuỗi cần thay thế và ký tự/chuỗi cần thay thế
cú pháp
string.replace[searchValue, newValue];
Vì chúng tôi sẽ sử dụng regex để tìm khoảng trắng, do đó chúng tôi cần chỉ định biểu thức chính quy ở trên thay cho searchValue. Giá trị mới sẽ là một không gian duy nhất được chỉ định như ''. Nếu 'g' không được chỉ định trong biểu thức chính quy, thì điều này sẽ chỉ thay thế biểu thức đầu tiên được khớp. Do đó, để thay thế tất cả các biểu thức phù hợp, chúng ta cần chỉ định 'g' ở cuối biểu thức chính quy
Trong hướng dẫn này, bạn sẽ học cách thay thế nhiều khoảng trắng bằng một khoảng trắng trong javascript. Một câu được hình thành với sự trợ giúp của nhiều từ và những từ này được ngăn cách với nhau bằng dấu cách. Bằng cách có một khoảng trắng, không chỉ các từ mà toàn bộ câu trở nên có nghĩa
Có nhiều cách để thay thế nhiều khoảng trắng bằng một khoảng trắng. Chúng tôi sẽ sử dụng cách tiếp cận đơn giản nhất liên quan đến việc sử dụng mẫu biểu thức chính quy cũng như phương pháp replace[]
. Phương thức replace[]
tìm kiếm chuỗi cho một giá trị cụ thể hoặc mẫu biểu thức chính quy và nó trả về một chuỗi mới với các giá trị được thay thế
Trong ví dụ sau, chúng ta có một biến toàn cục chứa một chuỗi. Khi bấm vào một nút, chúng tôi sẽ thay thế nhiều khoảng trắng bằng một khoảng trắng và hiển thị kết quả trên màn hình. Vui lòng xem qua ví dụ về mã và các bước được đưa ra bên dưới
Nếu bạn cần thay thế nhiều khoảng trắng [dấu cách kép] trong một chuỗi thành một khoảng trắng bằng JavaScript, bạn có thể sử dụng phương thức chuỗi tiếp theo
- thay thế [regrec/substr, chuỗi mới]
Phương thức thay thế [] tìm kiếm sự khớp giữa một chuỗi con [hoặc biểu thức chính quy] và một chuỗi và thay thế chuỗi con đã khớp bằng một chuỗi con mới
Phương thức String.replace[]
sẽ trả về một chuỗi mới với tất cả các lần xuất hiện của nhiều khoảng trắng liên tiếp được thay thế bằng một khoảng trắng
Đối số đầu tiên chúng tôi chuyển đến Chuỗi. phương thức thay thế là một biểu thức chính quy khớp với một khoảng trắng, theo sau là 1 hoặc nhiều khoảng trắng
Các ký tự / /
khớp với phần đầu và phần cuối của biểu thức chính quy
Dấu cộng +
khớp với mục trước đó [dấu cách] 1 hoặc nhiều lần
Với +
, chúng tôi xác định rằng chúng tôi muốn khớp 1 hoặc nhiều lần xuất hiện của khoảng trắng, nói cách khác, một hoặc nhiều khoảng trắng liên tiếp
Chúng tôi đã sử dụng cờ g
[toàn cầu] để cho biết rằng chúng tôi muốn so khớp tất cả các lần xuất hiện của biểu thức chính quy chứ không chỉ lần xuất hiện đầu tiên
Đối số thứ hai mà chúng tôi chuyển đến phương thức String.replace[]
là sự thay thế cho mỗi trận đấu
Trong trường hợp của chúng tôi, chúng tôi thay thế nhiều khoảng trắng bằng một khoảng trắng
Phương thức
string.replace[searchValue, newValue];1 không thay đổi chuỗi ban đầu, thay vào đó, nó trả về một chuỗi mới với các ký tự phù hợp được thay thế. Các chuỗi là bất biến trong JavaScript
Nếu bạn cần thay thế nhiều khoảng trắng, tab và ký tự dòng mới bằng một khoảng trắng, hãy sử dụng biểu thức chính quy sau
Dấu gạch chéo về phía trước / /
đánh dấu phần đầu và phần cuối của biểu thức chính quy
Ký tự
string.replace[searchValue, newValue];30 được sử dụng để khớp với dấu cách, tab và dòng mới
Dấu cộng +
khớp với mục trước đó [ký tự khoảng trắng và ký tự dòng mới [
string.replace[searchValue, newValue];32]] 1 lần trở lên
Cờ g
[toàn cầu] được sử dụng để xác định rằng chúng tôi muốn khớp tất cả các lần xuất hiện của biểu thức chính quy chứ không chỉ lần xuất hiện đầu tiên
Lưu ý rằng chúng tôi có hai ký tự
string.replace[searchValue, newValue];30 trong biểu thức chính quy. Điều này là do chúng tôi muốn khớp hai hoặc nhiều lần xuất hiện của khoảng trắng, tab và ký tự dòng mới