YOMEDIA
Bài giảng Lập trình Windows - Chapter 8 : Strings, Chars
Chia sẻ: Hấp Hấp
| Ngày:
| Loại File: PPT
| Số trang:17
75
lượt xem
5
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng "Lập trình Windows - Chapter 8 : Strings, Chars" cung cấp cho người học các kiến thức về: Lớp đối tượng string (Tạo một chuỗi, tạo chuỗi dùng phương thức ToString, thao tác trên chuỗi), các biểu thức quy tắc (sử dụng biểu thức quy tắc qua lớp Regex, sử dụng Regex để tìm tập hợp, sử dụng Regex để gom nhóm,...).
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Lập trình Windows - Chapter 8 : Strings, Chars
- Chapter 8 – Strings, Chars
Lớp đối tượng string
• Tạo một chuỗi
• Tạo chuỗi dùng phương thức ToString
• Thao tác trên chuỗi
• Tìm một chuỗi con
• Chia chuỗi
• Thao tác trên chuỗi dùng StringBuilder
Các biểu thức quy tắc
• Sử dụng biểu thức quy tắc qua lớp Regex
• Sử dụng Regex để tìm tập hợp
• Sử dụng Regex để gom nhóm
• Sử dụng lớp CaptureCollection
Câu hỏi & bài tập
Slide 1 ©
- Lớp đối tượng string
Mỗi đối tượng chuỗi là một dãy cố định các ký tự Unicode.
Các phương thức được dùng để làm thay đổi một chuỗi
thực sự trả về một bản sao đã thay đổi, chuỗi nguyên thủy
không thay đổi.
Là một trong những kiểu dữ liệu được xây dựng sẵn được
cung cấp bởi thư viện lớp .NET (.NET Framework Class
Library)
Khai báo của lớp System.String như sau:
public sealed class String : IComparable, ICloneble,
Iconvertible
Lớp này cũng thực thi ba giao diện hệ thống là
IComparable, ICloneable, và IConvertible – giao diện này
cho phép lớp System.String chuyển đổi với những lớp khác
trong hệ thống .NET.
Slide 2 ©
- Lớp đối tượng string
IComparable được thực thi bởi các kiểu dữ liệu đã
được sắp xếp. Các lớp IComparable thực thi phương
thức CompareTo().
ICloneable có thể tạo ra những thể hiện khác với cùng
giá trị như là thể hiện nguyên thuỷ. Các lớp Icloneable
thực thi phương thức Clone() – phương thức sao
chép.
IConvertible cung cấp phương thức để dễ dàng
chuyển đổi qua các kiểu dữ liệu cơ bản khác như là
ToInt32(), ToDouble(), ToDecimal(),...
Slide 3 ©
- Tạo một chuỗi
Khai báo và khởi tạo chuỗi hằng
string newString = “Day la chuoi hang”;
Chuỗi cũng có thể được tạo bằng cách sử dụng chuỗi
cố định hay nguyên văn (verbatim) không thay đổi.
Được bắt đầu với biểu tượng @.
string literal1 =
“\\\\MyDocs\\CSharp\\ProgrammingC#.cs”;
string verbatim1 =
@”\\MyDocs\CSharp\ProgrammingC#.cs”;
Slide 4 ©
- Tạo chuỗi dùng phương thức ToString của đối tượng
Gọi phương thức ToString() của một đối tượng và gán
kết quả đến một biến chuỗi.
int myInt = “9”;
string intString = myInt.ToString();
Lớp String của .NET cung cấp rất nhiều bộ khởi dựng hỗ
trợ rất nhiều kỹ thuật khác nhau để gán những giá trị
chuỗi đến kiểu dữ liệu chuỗi.
Truyền một mảng chuỗi như là tham số đến bộ khởi dựng
của String là tạo ra một thể hiện CLRcompliant (một thể
hiện đúng theo yêu cầu của CLR).
Còn việc truyền một con trỏ chuỗi như một tham số của bộ
khởi dựng String là việc tạo một thể hiện không an toàn
(unsafe).
Slide 5 ©
- Thao tác trên chuỗi
Slide 6 ©
- Thao tác trên chuỗi
Slide 7 ©
- Thao tác trên chuỗi
Slide 8 ©
- Thao tác trên chuỗi dùng StringBuilder
• Lớp StringBuilder được sử dụng để tạo ra và bổ sung các
chuỗi.
• Lớp này chính là phần đóng gói của một bộ khởi dựng cho
một String.
Slide 9 ©
- Thao tác trên chuỗi dùng StringBuilder
Phương thức của lớp StringBuilder
Slide 10 ©
- Các biểu thức quy tắc (Regular Expression)
Một biểu thức qui tắc bao gồm hai kiểu ký tự:
Ký tự bình thường (literal): những ký tự này mà chúng
ta sử dụng để so khớp với chuỗi ký tự đích.
Metacharacter: là các biểu tượng đặc biệt, có hành
động như là các lệnh trong bộ phân tích (parser) của
biểu thức.
Ví dụ:
^(From|To|Subject|Date):
Biểu thức này sẽ so khớp với bất cứ chuỗi con nào với
những từ như “From”, “To”, “Subject”, và “Date” miễn là
những từ này bắt đầu bằng ký tự dòng mới (^) và kết
thúc với dấu hai chấm (:).
Slide 11 ©
- Sử dụng biểu thức quy tắc qua lớp Regex
MS.NET cung cấp một hướng tiếp cận hướng đối tượng
(object- oriented approad) cho biểu thức quy tắc để so
khớp, tìm kiếm và thay thế chuỗi.
Biểu thức quy tắc của ngôn ngữ C# là được xây dựng
từ lớp regexp của ngôn ngữ Perl5.
Namspace System.Text.RegularExpressions của thư
viện BCL (Base Class Library) chứa đựng tất cả các đối
tượng liên quan đến biểu thức quy tắc trong môi
trường .NET. Và lớp quan trọng nhất mà biểu thức quy
tắc hỗ trợ là Regex.
Demo
Slide 12 ©
- Regular Expressions and Class Regex
Cha ra c ter Ma tc hes Cha ra c ter Ma tc hes
\d any digit \D any nondigit
\w any word character \W any nonword character
\s any whitespace \S any nonwhitespace
Fig. 15.19 Cha ra c ter c la sses.
Slide 13 ©
- Regular Expressions and Class Regex
Qua ntifier Ma tc hes
* Matches zero or more occurrences of the pattern.
+ Matches one or more occurrences of the pattern.
? Matches zero or one occurrences of the pattern.
{n} Matches exactly n occurrences.
{n,} Matches at least n occurrences.
{n,m} Matches between n and m (inclusive) occurrences.
Fig. 15.21 Qua ntifiers used reg ula r exp ressions.
Slide 14 ©
- Sử dụng Regex để tìm kiếm tập hợp
Hai lớp được thêm vào trong namespace .NET cho
phép chúng ta thực hiện việc tìm kiếm một chuỗi một
cách lặp đi lặp lại cho đến hết chuỗi, và kết quả trả về là
một tập hợp.
Tập hợp được trả về có kiểu là MatchCollection, bao
gồm không có hay nhiều đối tượng Match.
Hai thuộc tính quan trọng của những đối tượng Match
là chiều dài và giá trị của nó
Demo
Slide 15 ©
- Sử dụng Regex để gom nhóm
Lớp Group cho phép chúng ta tạo những nhóm và tìm
kiếm dựa trên biểu thức quy tắc, và thể hiện kết quả từ
một nhóm biểu thức đơn.
Một biểu thức nhóm định rõ một nhóm và cung cấp một
biểu thức quy tắc, bất cứ chuỗi con nào được so khớp
bởi biểu thức quy tắc thì sẽ được thêm vào trong nhóm.
Ví dụ, để tạo một nhóm chúng ta có thể viết như sau:
@”(?(\d|\ .)+)\s”
Lớp Match dẫn xuất từ nhóm Group, và có một tập hợp
gọi là Groups chứa tất cả các nhóm mà Match tìm thấy.
Demo
Slide 16 ©
- Sử dụng lớp CaptureCollection
Mỗi khi một đối tượng Regex tìm thấy một chuỗi con, thì môt
thể hiện Capture được tạo ra và được thêm vào trong một
tập hợp CaptureCollection.
Một đối tượng Capture thể hiện một chuỗi con riêng.
Mỗi nhóm có một tập hợp các Capture được tìm thấy trong
chuỗi con có liên hệ với nhóm.
Thuộc tính Length là chiều dài của chuỗi con được nắm giữ.
Capture.Length do Match được dẫn xuất từ Group và đến
lượt Group lại được dẫn xuất từ Capture.
Một Group là một Capture (Group is-a Capture), là một đối
tượng Capture đóng gói các ý tưởng về các nhóm biểu thức.
Match cũng là một Group (Match is-a Group), nó đóng gói tất
cả các nhóm biểu thức con được so khớp trong biểu thức
quy tắc. Demo Slide 17 ©
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...