Chương 8 Lập trình xử lý chuỗi String... Mục tiêu và nội dung • Mục tiêu – Sau khi học chương này, sinh viên phải hiểu và vận dụng được cách xử lý chuỗi trong lập trình • Nội dung – 1..
Trang 1Chương 8 Lập trình xử lý chuỗi (String)
Trang 2Mục tiêu và nội dung
• Mục tiêu
– Sau khi học chương này, sinh viên phải
hiểu và vận dụng được cách xử lý chuỗi
trong lập trình
• Nội dung
– 1 Giới thiệu về chuỗi và ký tự
– 2 String constructor
– 3 String index
– 4 String length
– 5 Phương thức CopyTo
Trang 3Mục tiêu và nội dung
– 6 So sánh chuỗi
– 7 Tìm chuỗi con
– 8 Trích chuỗi con
– 9 Nối chuỗi
– 10 Lớp StringBuilder
– 11 Phương thức Insert
– 12 Phương thức Remove
– 13 Phương thức Replace
– 14 Phương thức Split
Trang 4Giới thiệu về chuỗi và ký tự
• Chuỗi là tập các ký tự trong C#, chuỗi
là một kiểu được định nghĩa sẵn như int, long,…
• Lớp System.String: là lớp được thiết kế
để lưu trữ chuỗi, bao gồm các phương thức và thuộc tính cho phép thao tác và
xử lý chuỗi
Trang 5String Constructor
Trang 6String Constructor
Trang 7String Indexer, Length, CopyTo
• Index: tương tự C++, chỉ số bắt đầu =0
• Thuộc tính Length: độ dài chuỗi
• Phương thức CopyTo: sao chép chuỗi
Trang 8String Indexer, Length, CopyTo
• Index: tương tự C++, chỉ số bắt đầu =0
• Thuộc tính Length: độ dài chuỗi
• Phương thức CopyTo: sao chép chuỗi
Trang 9String Indexer, Length, CopyTo
Trang 10So sánh chuỗi
• Toán tử ==
• Equal
– bool bRes = s1.Equal (s2);
• bRes = true: s1 = s2
• bRes = false: s1 != s2
• CompareTo
– int result = s1.CompareTo(s2);
• result < 0: s1 < s2
• result = 0: s1 = s2
• result >0: s1 > s2
Trang 11StartsWith, EndsWith
• Xác định chuỗi bắt đầu và kết thúc của một chuỗi cho trước
Trang 12Tìm chuỗi con
• IndexOf: vị trí xuất hiện đầu tiên của 1 chuỗi con hoặc kí tự trong chuỗi
• IndexOfAny: vị trí xuất hiện đầu tiên của bất kì 1 hoặc 1 tập kí tự trong chuỗi
– public int IndexOfAny ( char[] anyOf, int startIndex, int count )
• string letters = "abcdefghijklmabcdefghijklm";
• char[] searchLetters = { 'c', 'a', '$' };
• int index1 = letters.IndexOfAny( searchLetters ); (=0)
• int index2= letters.IndexOfAny( searchLetters, 7 ); (=13)
• string str = "Now is the time for all good men to come to the aid
of their party.";
• str.IndexOfAny(“aid”, 22, 16); (=27)
• LastIndexOf: vị trí xuất hiện cuối cùng của 1 chuỗi con hoặc kí tự trong chuỗi
• LastIndexOfAny: vị trí xuất hiện cuối cùng của bất kì 1 hoặc 1 tập
kí tự trong chuỗi
•
Trang 13Trích chuỗi, nối chuỗi
• Trích chuỗi con:
– SubString (int index): trả về chuỗi con bắt
đầu từ vị trí index
– SubString (int index, int leng): trả về chuỗi con gồm leng ký tự bắt đầu từ vị trí index
• Nối chuỗi:
– Sử dụng toán tử +
– Sử dụng String.Concat (string s1, string s2)
• Thay thế chuỗi con trong chuỗi
– Replace(string oldValue, string newValue)
Trang 14Các thao tác khác
• Loại bỏ chuỗi con trong chuỗi
– Remove (int index)
– Remove (int index, int count)
• Trim:
– Bỏ các ký tự trắng
– Bỏ các ký tự trong tham số mảng
Trang 15Lớp StringBuilder
• Cho phép tạo và thao tác động với chuỗi
• Cho phép thay đổi kích thước chuỗi lúc
runtime
• Khởi tạo:
int leng)
Trang 16Lớp StringBuilder
• Các phương thức quan trọng
– Append(): Nối một chuỗi vào cuối chuỗi
– Insert(int index, string s): Chèn một chuỗi vào một vị trí xác định
– Replace(string oldValue, string newValue): Thay thế một chuỗi bằng chuỗi mới
– Remove(): loại bỏ chuỗi con
Trang 17Lớp StringBuilder
Trang 19Một số phương thức của lớp Char
• IsDigit
• IsLetter
• IsLetterOrDigit
• IsLower
• IsUpper
• ToUpper
• ToLower
• IsSymbol
19