Xóa khoảng trắng thừa trong chuỗi là việc chúng ta thường xuyên gặp phải trong quá trình code ở mọi ngôn ngữ lập trình. Đôi khi việc phải xóa khoảng trắng thừa của một chuỗi khá là chớ trêu đúng không nào. Bài viết này mình sẽ hướng dẫn các bạn cách xóa dấu cách thừa trong chuỗi ở các ngôn ngữ lập trình khác nhau. Bạn có thể tìm tới mục ngôn ngữ mà bạn cần và xem cách làm nhé.
Nếu ký tự đầu, cuối chuỗi hoặc trong thân chuỗi của bạn có cách khoảng trắng thừa (space, tab, newline) thì bạn không cần lo quá đâu. Vì hầu hết các ngôn ngữ đều có hàm để xử lý việc xóa khoảng trắng dư thừa đầu & cuối chuỗi. Bonus thêm, mình sẽ chỉ bạn luôn cách xóa tất cả khoảng trắng thừa luôn.
Kiến thức yêu cầu:
- Kiến thức cơ bản về ngôn ngữ lập trình bạn sử dụng
- Kiến thức về regular expression (biểu thức chính quy)
Xóa khoảng trắng thừa trong chuỗi Java
Ngôn ngữ Java có hàm str.trim()
để xóa khoảng trắng thừa đầu, cuối chuỗi. Bạn chỉ cần 1 dòng code để xử lý việc này:
public class Main { public static void main(String args[]) { String str = " Lập Trình Không Khó "; System.out.println("String: " + str); System.out.print("Sau khi xóa khoảng trắng thừa: "); System.out.println(str.trim()); } }
Kết quả:
String: Lập Trình Không Khó Sau khi xóa khoảng trắng thừa: Lập Trình Không Khó
[sc_quote]Dành cho bạn: Khóa học Java căn bản [/sc_quote]
Nếu bạn muốn xóa toàn bộ khoảng trắng thừa trong chuỗi với Java:
public class Main { public static void main(String args[]) { String str = " Lập Trình Không Khó "; System.out.println("String: " + str); System.out.print("Sau khi xóa khoảng trắng thừa: "); System.out.println(str.replaceAll("\s\s+", " ").trim()); } }
Kết quả:
String: Lập Trình Không Khó Sau khi xóa khoảng trắng thừa: Lập Trình Không Khó
Xóa khoảng trắng thừa trong chuỗi C#
Xóa khoảng trắng thừa trong C# cũng hết sức đơn giản, bạn có thể sử dụng hàm String.Trim()
để xóa khoảng trắng thừa đầu cuối và dùng regex để xóa khoảng trắng thừa trong chuỗi.
Bạn tránh biên dịch regex nhiều lần nhé. Hãy biên dịch 1 lần (như ví dụ dưới đây) để tránh chương trình phải xử lý lặp lại:
String sent = " Lập Trình Không Khó "; sent = sent.Trim() // Xóa đầu cuối Regex trimmer = new Regex(@"ss+"); // Xóa khoảng trắng thừa trong chuỗi sent = trimmer.Replace(sent, " ");
Kết quả:
Lập Trình Không Khó
Xóa khoảng trắng thừa trong chuỗi PHP
Để xóa khoảng trắng thừa và các ký tự bạn không mong muốn ở đầu và cuối chuỗi trong PHP, bạn có thể sử dụng hàm trim()
có cú pháp:
trim(string,charlist)
Trong đó:
- string: Chuỗi cần xử lý
- charlist: (Tùy chọn), mặc định sẽ bao gồm:
- “ ” – NULL
- “t” – dấu tab
- “n” – dấu xuống hàng
- “x0B” – dấu vertical tab
- “r” – dấu lùi về đầu dòng
- ” ” – Khoảng trắng
Ví dụ xóa khoảng trắng thừa trong PHP:
<?php $text = "ttThese are a few words :) ... "; $binary = "x09Example stringx0A"; $hello = "Hello World"; var_dump($text, $binary, $hello); print "n"; $trimmed = trim($text); var_dump($trimmed); $trimmed = trim($text, " t."); var_dump($trimmed); $trimmed = trim($hello, "Hdle"); var_dump($trimmed); $trimmed = trim($hello, 'HdWr'); var_dump($trimmed); // trim the ASCII control characters at the beginning and end of $binary // (from 0 to 31 inclusive) $clean = trim($binary, "x00..x1F"); var_dump($clean); ?>
Kết quả chạy:
string(32) " These are a few words :) ... " string(16) " Example string " string(11) "Hello World" string(28) "These are a few words :) ..." string(24) "These are a few words :)" string(5) "o Wor" string(9) "ello Worl" string(14) "Example string"
Và nếu bạn muốn xóa tất cả khoảng trắng thừa ở bên trong chuỗi, sử dụng regex để xóa:
$foo = preg_replace('/s+/', ' ', $foo);
Xóa khoảng trắng thừa trong Javascript
Để xóa khoảng trắng thừa trong Javascript, bạn có thể dùng hàm trim()
tương tự các ngôn ngữ khác để xóa khoảng trắng đầu cuối. Và dùng regex để xóa khoảng trắng thừa ở các vị trí khác.
Xem ví dụ sử dụng hàm trim()
:
<!DOCTYPE html> <html> <body> <p>Click vào button để xem kết quả. </p> <button onclick="myFunction()">Xem kết quả </button> <p> <strong>Lưu ý: </strong> Hàm trim() không hỗ trợ trên IE 8 hoặc thấp hơn. </p> <script> function myFunction() { var str = " lập trình không khó! "; alert(str.trim()); } </script> </body> </html>
[sc_demo idx=”11″]Xem kết quả chạy[/sc_demo]
[sc_quote]Dành cho bạn: Khóa học Javascript căn bản [/sc_quote]
Và để xóa khoảng trắng thừa trong toàn bộ chuỗi với Javascript:
<!DOCTYPE html> <html> <body> <p>Click vào button để xem kết quả. </p> <button onclick="myFunction()">Xem kết quả </button> <p> <strong>Lưu ý: </strong> Hàm trim() không hỗ trợ trên IE 8 hoặc thấp hơn. </p> <script> function myFunction() { var str = " lập trình không khó! "; alert(str.replace(/s+/g,' ').trim()); } </script> </body> </html>
[sc_demo idx=”12″]Xem kết quả chạy[/sc_demo]
Xóa khoảng trắng thừa trong chuỗi Python
Việc xóa khoảng trắng thừa trong Python cũng tương tự như các ngôn ngữ lập trình kể trên. Xem ví dụ dưới đây để nắm rõ cách làm:
s = " t a string examplet " s = s.strip()
Mặc định strip()
trong Python chỉ xóa dấu cách (space), để thêm các ký tự cần xóa, chẳng hạn như tập hợp dấu cách
, t
, n
và r
, ta làm như sau:
s = s.strip(' tnr')
Và bạn cũng có thể truyền vào các ký tự khác mà bạn muốn xóa ở đầu, cuối chuỗi chứ không chỉ khoảng trắng.
[sc_quote]Dành cho bạn: Khóa học Python căn bản [/sc_quote]
Trong trường hợp bạn muốn xóa khoảng trắng thừa ở bất kỳ đầu trong chuỗi, hãy sử dụng cách dưới đây:
import re s = " example text "; print(re.sub(r'ss+', ' ', s.trim()))
[sc_quote]Than gia nhóm Lập Trình Không Khó trên Facebook tại đây[/sc_quote]
Để lại một bình luận