Danh mục

Giáo trình hướng dẫn tạo chuỗi dùng phương thức Tostring sử dụng biểu thức quy tắc qua lớp regex p3

Số trang: 5      Loại file: pdf      Dung lượng: 450.14 KB      Lượt xem: 6      Lượt tải: 0    
Hoai.2512

Phí tải xuống: miễn phí Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Hai chuỗi đầu s1 và s2 được khai báo chuỗi ký tự bình thường, còn chuỗi thứ ba được khai báo là chuỗi nguyên văn (verbatim string) bằng cách sử dụng ký hiệu @ trước chuỗi. Chương trình bắt đầu bằng việc so sánh hai chuỗi s1 và s2. Phương thức Compare() là phương thức tĩnh của lớp string, và phương thức này đã được nạp chồng. Phiên bản đầu tiên của phương thức nạp chồng này là lấy hai chuỗi và so sánh chúng với nhau:...
Nội dung trích xuất từ tài liệu:
Giáo trình hướng dẫn tạo chuỗi dùng phương thức Tostring sử dụng biểu thức quy tắc qua lớp regex p3 Ngôn Ngữ Lập Trình C# string s3 = @“Trung Tam Dao Tao CNTT Thanh pho Ho Chi Minh Viet Nam”;Hai chuỗi đầu s1 và s2 được khai báo chuỗi ký tự bình thường, còn chuỗi thứ ba được khaibáo là chuỗi nguyên văn (verbatim string) bằng cách sử dụng ký hiệu @ trước chuỗi. Chươngtrình bắt đầu bằng việc so sánh hai chuỗi s1 và s2. Phương thức Compare() là phương thứctĩnh của lớp string, và phương thức này đã được nạp chồng.Phiên bản đầu tiên của phương thức nạp chồng này là lấy hai chuỗi và so sánh chúng vớinhau: // So sánh hai chuỗi với nhau có phân biệt chữ thường và chữ hoa result = string.Compare( s1 ,s2); Console.WriteLine(“So sanh hai chuoi s1: {0} và s2: {1} ket qua: {2} ”, s1 ,s2 ,result);Ở đây việc so sánh có phân biệt chữ thường và chữ hoa, phương thức trả về các giá trị khácnhau phụ thuộc vào kết quả so sánh:  Một số âm nếu chuỗi đầu tiên nhỏ hơn chuỗi thứ hai  Giá trị 0 nếu hai chuỗi bằng nhau  Một số dương nếu chuỗi thứ nhất lớn hơn chuỗi thứ hai.Trong trường hợp so sánh trên thì đưa ra kết quả là chuỗi s1 nhỏ hơn chuỗi s2. TrongUnicode cũng như ASCII thì thứ tự của ký tự thường nhỏ hơn thứ tự của ký tự hoa: So sanh hai chuoi S1: abcd và S2: ABCD ket qua: -1Cách so sánh thứ hai dùng phiên bản nạp chồng Compare() lấy ba tham số. Tham số Booleanquyết định bỏ qua hay không bỏ qua việc so sánh phân biệt chữ thường và chữ hoa. Tham sốnày có thể bỏ qua. Nếu giá trị của tham số là true thì việc so sánh sẽ bỏ qua sự phân biệt chữthường và chữ hoa. Việc so sánh sau sẽ không quan tâm đến kiểu loại chữ: // Tham số thứ ba là true sẽ bỏ qua kiểm tra ký tự thường – hoa result = string. Compare(s1, s2, true); Console.WriteLine(“Khong phan biet chu thuong va hoa ”); Console.WriteLine(“S1: {0} , S2: {1}, ket qua : {2} ”, s1, s2, result);Lúc này thì việc so sánh hoàn toàn giống nhau và kết quả trả về là giá trị 0: Khong phan biet chu thuong va hoa S1: abcd , S2: ABCD, ket qua : 0Ví dụ minh họa 10.1 trên tiếp tục với việc nối các chuỗi lại với nhau. Ở đây sử dụng hai cáchđể nối liền hai chuỗi. Chúng ta có thể sử dụng phương thức Concat() đây là phương thứcpublic static của string: string s4 = string.Concat(s1, s2);Hay cách khác đơn giản hơn là việc sử dụng toán tử nối hai chuỗi (+): string s5 = s1 + s2;Trong cả hai trường hợp thì kết quả nối hai chuỗi hoàn toàn thành công và như sau: 283 Xử Lý Chuỗi Ngôn Ngữ Lập Trình C# Chuoi S4 noi tu chuoi S1 va S2: abcdABCD Chuoi S5 duoc noi tu chuoi S1 + S2: abcdABCDTương tự như vậy, việc tạo một chuỗi mới có thể được thiết lập bằng hai cách. Đầu tiên làchúng ta có thể sử dụng phương thức static Copy() như sau: string s6 = string.Copy(s5);Hoặc thuận tiện hơn chúng ta có thể sử dụng phương thức nạp chồng toán tử (=) thông quaviệc sao chép ngầm định: string s7 = s6;Kết quả của hai cách tạo trên đều hoàn toàn như nhau: S6 duoc sao chep tu S5: abcdABCD S7 = S6: abcdABCDLớp String của .NET cung cấp ba cách để kiểm tra bằng nhau giữa hai chuỗi. Đầu tiên làchúng ta có thể sử dụng phương thức nạp chồng Equals() để kiểm tra trực tiếp rằng S6 cóbằng S7 hay không: Console.WriteLine(“S6.Equals(S7) ?: {0}”, S6.Equals(S7));Kỹ thuật so sánh thứ hai là truyền cả hai chuỗi vào phương thức Equals() của string: Console.WriteLine(“Equals(S6, s7) ?: {0}”, string.Equals(S6, S7));Và phương pháp cuối cùng là sử dụng nạp chồng toán tử so sánh (=) của String: Console.WriteLine(“S6 == S7 ?: {0}”, s6 == s7);Trong cả ba trường hợp thì kết quả trả về là một giá trị Boolean, ta có kết quả như sau: S6.Equals(S7) ?: True Equals(S6, s7) ?: True S6 == S7 ?: TrueViệc so sánh bằng nhau giữa hai chuỗi là việc rất tự nhiên và thường được sử dụng. Tuynhiên, trong một số ngôn ngữ, như VB.NET, không hỗ trợ nạp chồng toán tử. Do đó để chắcchắn chúng ta nên sử dụng phương thức Equals() là tốt nhất.Các đoạn chương trình tiếp theo của ví dụ 10.1 sử dụng toán tử chỉ mục ([]) để tìm ra ký tựxác định trong một chuỗi. Và dùng thuộc tính Length để lấy về chiều dài của toàn bộ mộtchuỗi: Console.WriteLine(“ Chuoi S7 co chieu dai la : {0}”, s7.Length); Console.WriteLine(“Ky tu thu 3 cua chuoi S7 la : {0}”, s7[2] );Kết quả là:Chuoi S7 co chieu dai la : 8Ky tu thu 3 cua chuoi S7 la : cPhương thức EndsWith() hỏi xem một chuỗi có chứa một chuỗi con ở vị trí cuối cùng haykhông. Do vậy, chúng ta có thể hỏi rằng chuỗi S3 có kết thúc bằng chuỗi “CNTT” hay chuỗi“Nam”: // Kiểm tra xem một chuỗi có kết thúc với một nhóm ký tự xác định hay không ...

Tài liệu được xem nhiều: