Chương 7:
Xử lý chuỗi
Giảng viên: Ths. Nguyễn Thị Khiêm Hòa
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
Nội dung
Lớp String
Lớp String Builder
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
2
Lớp String
Thuộc lớp System.String thực thi các xử lý trên
chuỗi ký tự
Lớp này được khai báo sealed nên không thể kế
thừa.
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
3
Lớp String
Khai báo
string <tên biến> = <chuỗi>;
Tạo chuỗi
Phép gán
\n, \t, \\ (@)
Ví dụ:
string st =“\\\\Doc\\Test\\ProgrammingC#.cs";
string str = @"\\Doc\Test\ProgrammingC#.cs";
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
4
Xử lý chuỗi với Lớp String
Các phương thức và thuộc tính của lớp String
Phương thức/
thuộc tính
Empty
Compare( )
Concat( )
Copy( )
Equals( )
Format( )
Length
CompareTo( )
Ý nghĩa
Thuộc tính cho biết chuỗi rỗng
So sánh hai chuỗi
Tạo (nối) chuỗi từ nhiều chuỗi
Sao chép chuỗi
Trả về True nếu hai chuỗi bằng nhau
Định dạng chuỗi theo quy định
Chiều dài chuỗi
So sánh chiều dài hai chuỗi
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
5
Xử lý chuỗi với Lớp String
Phương thức/
thuộc tính
EndsWith( )
Insert( )
IndexOf( )
LastIndexOf( )
Remove( )
Split( )
StartsWith( )
Ý nghĩa
Kiểm tra chuỗi có kết thúc bởi một chuỗi con
hay không?
Chèn chuỗi vào vị trí index
Vị trí bắt đầu của một chuỗi con trong chuỗi
Vị trí kết thúc của một chuỗi con trong chuỗi
Xóa chuỗi con trong chuỗi
Cắt chuỗi tại vị trí xác định
Kiểm tra xem chuỗi có bắt đầu bằng chuỗi
con hay không?
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
6
Xử lý chuỗi với Lớp String
Phương thức/
Ý nghĩa
thuộc tính
Substring( )
Lấy chuỗi con
ToLower( )
Đổi thành chuỗi thường
ToUpper( )
Trim( )
Đổi thành chuỗi hoa
Cắt khoảng trắng thừa trong chuỗi
Trim(char[])
Cắt bỏ các ký tự xác định trong chuỗi
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
7
Định dạng chuỗi
Công thức
{ vị trí[, độ rộng][:chuỗi định dạng]}
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
8
Định dạng chuỗi
Một số chuỗi định dạng ngày tháng:
Định
dạng
Mô tả
Ví dụ
“d”
Short date
6/15/2009 1:45:30 PM -> 6/15/2009
"D"
Long date
6/15/2009 1:45:30 PM -> Monday, June 15, 2009
Full date/time
6/15/2009 1:45:30 PM -> Monday, June 15, 2009 1:45
PM
"f"
"F"
"g"
(short time)
Full date/time
(long time)
6/15/2009 1:45:30 PM -> Monday, June 15, 2009 1:45:30
PM
General
date/time
6/15/2009 1:45:30 PM -> 6/15/2009 1:45 PM
(short time)
"G"
General
date/time
(long time)
6/15/2009 1:45:30 PM -> 6/15/2009 1:45:30 PM
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
9
Định dạng chuỗi
Một số chuỗi định dạng số:
Định
dạng
Mô tả
Ví dụ
"C" / "c" Currency
123.456 ("C2", en-US) -> ($123.46)
"D"/ “d”
Decimal
1234 ("D") -> 1234
-1234 ("D6") -> -001234
“F”/ "f"
Fixed-point
1234.567 ("F2", en-US) -> 1234.57
"G"/ “g” General
-123.456 ("G", en-US) -> -123.456
123.4546 ("G4", en-US) -> 123.5
“N”/ “n”
Number
1234.567 ("N", en-US) -> 1,234.57
“X”/ “x”
255 ("X") -> FF
-1 ("x") -> ff
Hexadecimal
255 ("x4") -> 00ff
-1 ("X4") -> 00FF
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
10
Ví dụ định dạng
string s = String.Format("{0:c}", 12345.67);
Console.WriteLine(s);
System.DateTime dt = new
System.DateTime(2002,3,20,10,30,0);
MessageBox.Show(dt.ToString("f"));
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
11
Lớp StringBuilder
Lớp StringBuilder dùng để xử lý chuỗi động
Một số phương thức
Phương thức/ thuộc
tính
Ý nghĩa
Length
Chiều dài chuỗi
Append
Thêm vào cuối chuỗi
AppendFormat
Thay thế định dạng xác định bằng giá trị được định
dạng của đối tượng
Insert( )
Chèn chuỗi vào vị trí index
Remove( )
Xóa chuỗi con trong chuỗi
Replace
Thay thế một số ký tự trong chuỗi bằng một số ý tự
mới
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
12
Ví dụ StringBuilder
static void Main( )
{
s1 = "One,Two,Three Liberty Associates, Inc.";
const char Space = ' ';
const char Comma = ',';
char[] delimiters = new char[] { Space, Comma };
StringBuilder output = new StringBuilder( );
int ctr = 1;
foreach (string subString in s1.Split(delimiters ))
{
output.AppendFormat("{0}:{1}\n",ctr++,subString );
}
Console.WriteLine( output );
}
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
13
Q&A
Khoa Công nghệ Thông tin - Đại học Ngân hàng TP.HCM
14