Regular Expression « MicrosoftTech.Net

Regular Expression – Split Method

Đến với bài viết thứ tư trong chuyên mục Regular Expression chúng ta sẽ tìm hiểu về phương thức Split() cũng như các đặc tính của phương thức này. Là một trong các hàm hỗ trợ của Regular Expression, Split() có chức năng chia/ tách văn bản ban đầu thành nhiều văn bản con dựa trên những điều kiện trong chuỗi mẫu partern. Để trích xuất nội dung từ 1 đoạn văn bản (nói chính xác là trích xuất từ trong văn bản) ta thường xem xét những ký tự xung quanh từ cần tách có những đặc điểm gì đáng chú ý để có thể dùng làm cơ sở chia tách; Ví dụ tách tất cả các từ thì đối tượng để tách là các khoảng trắng.

1. Phương thức Split

Ví dụ bên dưới đầu tiên ta có 1 string mẫu vói nội dung là thứ tự các chuyên mục trong một website,; Vấn đề cần thực hiện là lấy chính xác tên của các chuyên mục. Ta thấy rằng giữa các chuyên mục được ngăn cách bởi chuỗi ” >> “. Đối số của Split() bao gồm: Chuỗi ban đầu và partern dùng để chia tách. Kết quả trả về là danh sách các chuỗi con thỏa mãn điều kiện của partern.

2. Ví dụ tiếp theo về phương thức Split

Trong ví dụ thứ 2 này, giả sữ ban đầu ta có 1 string chứa tên …..

Regular Expression – Replace Method

1. Phương thức Replace()

Cấu trúc của phương thức Replace() rất đơn giản, chỉ gồm 3 đối số: Đầu tiên là string nguồn chính là văn bản cần xử lý, tiếp theo văn partern để quy định dạng văn bản mẫu để truy vấn trong văn bản nguồn và cuối cùng là văn bản dùng để thay thế. partern thì hoàn toàn tương tự như trong phương thức Match()/Matches() đã tìm hiểu trong bài viết trước. Kết quả trả về của phương thức là string sau khi được xử lý.

2. Ví dụ về phương thức Replace()

Trong ví dụ bên dưới ta xây dựng một tool nhỏ với chức năng tìm kiếm để thay thế văn bản. Chương trình tự động hỗ trợ 2 dạng partern: Text thông thường hoặc là Regular Expression. Ví dụ, partern trong demo dùng để thay thế các tên bắt đầu bằng chữ cái “t” bằng các dấu “#”. 3. Ứng dụng nhỏ về xử lý văn bản sử dụng phương thức Replace()

Nếu đã từng sử dụng Microsoft Office Word chắc bạn đã biết đến chức năng Change Case dùng để thay đổi các dạng văn bản. Trong Word hỗ trợ 4 dạng điều chỉnh sau:

UPPER CASE: Viết hoa tất cả các chữ cái lower case: Viết thường tất cả các chữ cái Title Case: Viết hoa chữ cái đầu tiên tOGGLE cASE: Ngược lại với Title Case

Demo …..

Regular Expression - Match Method

Trong bài viết lần trước chúng ta đã tìm hiểu một số nét căn bản về Regular Expression trong lập trình csharp; Bài viết hôm nay ta sẽ tìm hiểu phần tiếp theo trong Regular Expression là phương thức Match, Matches, IsMatch và cách chuyển đổi từ tập hợp Match sang kiểu dữ liệu Collection khác trong dotnet.

1. Phương thức Match()

Phương thức Match dùng để tách các chuỗi con từ chuỗi gốc ban đầu theo chuỗi mẫu partern đưa vào. Kết quả từ phương thức Match là tập hợp các chuỗi con thõa mãn điều kiện ban đầu. Trong ví dụ bên dưới ta thấy để truy xuất kết quả từ Match dùng thuộc tính match.Group[0].Value. 0 ở đây là thứ tự của truy vấn trong chuỗi partern, bắt đầu từ 0. Trong partern nếu có nhiều truy vấn lồng nhau thì giá trị 0 là thứ tự của các truy vấn con đó. (Tính thứ tự bắt đầu từ 0). Để chuyển sang kết quả tiếp theo ta dùng phương thức NextMatch().

Kết quả

2. Phương thức Matches()

Tương tự với phương thức Match, Matches dùng để tách chuỗi theo chuỗi mẫu partern. Nhưng điều thú vị của Matches nằm ở kết quả trả về, cho ta biết được vị trí xuất hiện của chuỗi con. Tập hợp các kết quả từ Matches được trả về trong thuộc tính Captures, từ capture có thể …..

Regular Expression

Đến với bài viết hôm nay chúng ta sẽ bắt đầu tìm hiểu một kỹ thuật khá thú vị trong lập trình csharp dotnet. Kỹ thuật này hỗ trợ mạnh mẽ cho việc xử lý chuỗi như tìm kiếm, so khớp, cắt ghép… Kỹ thuật tôi đang nói tới là Regular Expressions – Không chỉ trong csharp mà trong mọi ngôn ngữ lập trình khác đều hỗ trợ regular Expression để phục vụ cho việc xử lý văn bản. Trong các ứng dụng xử lý văn bản bạn cũng sẽ gặp Regular Expression trong chức năng tìm kiếm và thay thế (Find/ Replace) như: Word, Excel, Dreamwave, Notepad++…

1. Regex là gì?!

Regular Expression còn gọi ngắn gọn là Regex – Tập hợp các phép xử lý văn bản như tìm kiếm, so khớp, cắt ghép… Regex làm việc dựa trên những mẫu văn bản theo các quy tắc định sẵn trước để từ đó xử lý những văn bản khác theo các yêu cầu khác nhau. Các mẫu văn bản có sẵn gọi là partern. Để sử dụng Regex trong csharp bạn cần sử dụng namespace System.Text.RegularExpression. Trong các bài tiếp theo chúng ta sẽ lần lượt làm rõ từng khái niệm, thuộc tính, phương thức trong Regular Expression.

2. Ví dụ về Regular Expression

Đây là ví dụ đơn giản về Regex trong việc xử lý chuỗi, ví dụ này cho thấy được tính năng mạnh mẽ của …..