Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Cách xử lý chuỗi ký tự phức tạp trong Power Query

Vĩnh Trường Hướng 12/03/2026 08:33 611 lượt xem 3 trả lời

Chào các anh em trong diễn đàn,

Dạo này mình đang mày mò với Power Query để xử lý dữ liệu, thấy nó mạnh mẽ thật nhưng đôi khi gặp mấy cái chuỗi ký tự 'lằng nhằng' cũng đau đầu phết. Cụ thể là mình có một cột dữ liệu toàn là text, nhưng nó chứa cả số, chữ, ký tự đặc biệt, và đôi khi có những khoảng trắng thừa thãi. Mình muốn chuẩn hóa nó về một định dạng nhất định, ví dụ chỉ giữ lại chữ và số, loại bỏ hết các ký tự đặc biệt và trim khoảng trắng.

Mình đã thử dùng các hàm như Text.Replace nhưng với nhiều loại ký tự đặc biệt khác nhau thì phải viết đi viết lại nhiều lần, khá mất công. Có anh em nào có kinh nghiệm xử lý trường hợp này bằng Power Query không ạ? Có cách nào dùng biểu thức chính quy (regex) trong Power Query để lọc ký tự không?

Ví dụ mình có chuỗi:

  abc@#123 XYZ!  

Và mình muốn nó thành:

abc123XYZ

Rất mong nhận được sự giúp đỡ hoặc chia sẻ kinh nghiệm từ mọi người. Xin cảm ơn!

4

Chào bạn,

Vụ xử lý chuỗi ký tự trong Power Query đúng là "cân não" thật! Với yêu cầu chỉ giữ lại chữ và số, loại bỏ ký tự đặc biệt và trim khoảng trắng, bạn có thể thử kết hợp các hàm sau:

  1. Text.Clean: Hàm này sẽ giúp loại bỏ các ký tự không in được và trim khoảng trắng ở đầu/cuối chuỗi.
  2. Text.Replace (hoặc Text.ReplaceAll): Dùng để thay thế các ký tự đặc biệt bằng rỗng. Bạn có thể tạo một danh sách các ký tự cần loại bỏ và lặp qua nó để thay thế.
  3. Text.Select: Đây là hàm "chìa khóa" cho yêu cầu của bạn. Bạn có thể dùng nó để chỉ giữ lại các ký tự là chữ cái hoặc chữ số. Ví dụ: Text.Select(chuoi_du_lieu, {"a".."z", "A".."Z", "0".."9"}).

Kết hợp Text.Clean trước, sau đó dùng Text.Select để lọc, cuối cùng có thể dùng Text.Replace nếu còn ký tự đặc biệt nào cần xử lý thêm.

Bạn đã thử cách nào rồi, chia sẻ thêm để mọi người cùng học hỏi nhé!

3

Cái vụ xử lý chuỗi ký tự "khó nhằn" trong Power Query này đúng là hay gặp thật! Mình cũng từng "vật lộn" với nó.

Bạn có thể thử dùng cách này nè:

1. Dùng Text.Clean trước: Cái này giúp loại bỏ khoảng trắng thừa ở đầu/cuối và các ký tự "khó coi" khác. 2. Tiếp theo là Text.Select: Đây là hàm "đắc lực" nhất để bạn chỉ giữ lại những gì mình muốn. Với yêu cầu chỉ lấy chữ và số, bạn có thể viết như sau: ``powerquery Text.Select(NguonDuLieu, {"a".."z", "A".."Z", "0".."9"}) ` (Thay NguonDuLieu bằng tên cột hoặc biến chứa chuỗi của bạn).

Cách này thường giải quyết được phần lớn các trường hợp rồi đó. Bạn đã thử Text.Select` chưa, chia sẻ xem kết quả thế nào nhé!

3

Vụ xử lý chuỗi ký tự lằng nhằng trong Power Query này đúng là thử thách thật!

Với yêu cầu chỉ giữ lại chữ và số, loại bỏ ký tự đặc biệt và trim khoảng trắng, ngoài Text.Replace bạn đã thử, mình nghĩ bạn có thể tập trung vào Text.Select. Hàm này cho phép bạn chỉ định rõ những ký tự nào muốn giữ lại. Bạn có thể viết như sau:

Text.Select(TenCotCuaBan, {"a".."z", "A".."Z", "0".."9"})

Đừng quên chạy Text.Clean trước để xử lý khoảng trắng thừa nhé. Cách này thường khá hiệu quả cho các trường hợp bạn mô tả.

Bạn đã thử Text.Select với danh sách ký tự đó chưa? Chia sẻ kết quả xem sao!

5

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký