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 p2

5 12 0
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 p2

Đang tải... (xem toàn văn)

Thông tin tài liệu

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), tức là các ký tự trong chuỗi được giữ nguyên không thay đổi. Chuỗi này được bắt đầu với biểu tượng @. Biểu tượng này bảo với hàm khởi dựng của lớp String rằng chuỗi theo sau là nguyên văn, thậm chí nó chứa nhiều dòng hoặc bao gồm những ký tự escape.

Ngơn Ngữ Lập Trình C# hay tab xuất Bởi dấu gạch chéo ngược dùng vài cú pháp dòng lệnh, địa URLs hay đường dẫn thư mục, chuỗi trích dẫn dấu chéo ngược phải đặt trước dấu chéo ngược khác, tức dùng hai dấu chéo ngược trường hợp Chuỗi tạo cách sử dụng chuỗi cố định hay nguyên văn (verbatim), tức ký tự chuỗi giữ nguyên không thay đổi Chuỗi bắt đầu với biểu tượng @ Biểu tượng bảo với hàm khởi dựng lớp String chuỗi theo sau ngun văn, chí chứa nhiều dịng bao gồm ký tự escape Trong chuỗi nguyên văn, ký tự chéo ngược ký tự sau đơn giản ký tự thêm vào chuỗi Do vậy, ta có định nghĩa chuỗi sau tương đương với nhau: string literal1 = “\\\\MyDocs\\CSharp\\ProgrammingC#.cs”; string verbatim1 = @”\\MyDocs\CSharp\ProgrammingC#.cs”; Trong chuỗi thứ nhất, chuỗi bình thường sử dụng, dấu ký tự chéo ký tự escape, nên phải đặt trước ký tự chéo ngược thứ hai Trong khai báo thứ hai chuỗi nguyên văn sử dụng, nên không cần phải thêm ký tự chéo ngược Một ví dụ thứ hai minh họa việc dùng chuỗi nguyên văn: string literal2 = “Dong mot \n dong hai”; string verbatim2 = @”Dong mot dong hai”; Nói chung ta ta sử dụng qua lại hai cách định nghĩa Việc lựa chọn phụ thuộc vào thuận tiện trường hợp hay phong cách riêng người Tạo chuỗi dùng phương thức ToString đối tượng Một cách phổ biến khác để tạo chuỗi gọi phương thức ToString() đối tượng gán kết đến biến chuỗi Tất kiểu liệu phủ phương thức đơn giản chuyển đổi giá trị (thông thường giá trị số) đến chuỗi thể giá trị Trong ví dụ theo sau, phương thức ToString() kiểu liệu int gọi để lưu trữ giá trị chuỗi: int myInt = “9”; string intString = myInt.ToString(); Phương thức myInt.ToString() trả đối tượng String đối tượng gán cho intString Lớp String NET cung cấp nhiều khởi dựng hỗ trợ nhiều kỹ thuật khác để gán giá trị chuỗi đến kiểu liệu chuỗi Một vài khởi dựng cho phép tạo chuỗi cách truyền vào mảng ký tự trỏ ký tự Truyền mảng chuỗi tham số đến khởi dựng String tạo thể CLRcompliant (một thể theo yêu cầu CLR) Còn việc truyền trỏ chuỗi tham số khởi dựng String việc tạo thể khơng an tồn (unsafe) 278 Xử Lý Chuỗi Ngơn Ngữ Lập Trình C# Thao tác chuỗi Lớp string cung cấp nhiều số lượng phương thức để so sánh, tìm kiếm thao tác chuỗi, phương thức trình bày bảng 10.1: System.String Phương thức/ Trường Empty Compare() CompareOrdinal() Concat() Ý nghĩa Trường public static thể chuỗi rỗng Phương thức public static để so sánh hai chuỗi Phương thức public static để so sánh hai chuỗi không quan tâm đến thứ tự Phương thức public static để tạo chuỗi từ hay nhiều chuỗi Copy() Phương thức public static tạo chuỗi từ chuỗi khác Equal() Phương thức public static kiểm tra xem hai chuỗi có giá trị hay không Format() Phương thức public static định dạng chuỗi dùng ký tự lệnh định dạng xác định Phương thức public static trả tham chiếu đến thể chuỗi Intern() IsInterned() Join() Chars() Length() Clone() CompareTo() CopyTo() EndsWidth() Insert() LastIndexOf() PadLeft() PadRight() Phương thức public static trả tham chiếu chuỗi Phương thức public static kết nối chuỗi xác định thành phần mảng chuỗi Indexer chuỗi Chiều dài chuỗi Trả chuỗi So sánh hai chuỗi Sao chép số ký tự xác định đến mảng ký tự Unicode Chỉ vị trí chuỗi xác định phù hợp với chuỗi đưa Trả chuỗi chèn chuỗi xác định Chỉ vị trí xuất cuối chuỗi xác định chuỗi Canh lề phải ký tự chuỗi, chèn vào bên trái khoảng trắng hay ký tự xác định Canh lề trái ký tự chuỗi, chèn vào bên phải khoảng trắng hay ký tự xác định 279 Xử Lý Chuỗi Ngôn Ngữ Lập Trình C# Remove() Xóa số ký tự xác định Split() Trả chuỗi phân định ký tự xác định chuỗi Xem chuỗi có bắt đầu số ký tự xác định hay không StartWidth() Lấy chuỗi Sao chép ký tự từ chuỗi đến mảng ký tự SubString() ToCharArray() Trả chuỗi kiểu chữ thường Trả chuỗi kiểu chữ hoa ToLower() ToUpper() Xóa bỏ tất xuất tập hợp ký tự xác định từ vị trí đến vị trí cuối chuỗi Xóa vị trí cuối Trim() TrimEnd() Xóa Trim vị trí đầu Bảng 10.1 : Phương thức thuộc tính lớp String Trong ví dụ 10.1 sau minh họa việc sử dụng số phương thức chuỗi Compare(), Concat() (và dùng toán tử +), Copy() (và dùng toán tử =), Insert(), EndsWith(), mục IndexOf  Ví dụ 10.1 : Làm việc với chuỗi TrimStart() namespace Programming_CSharp { using System; public class StringTester { static void Main() { // khởi tạo số chuỗi để thao tác string s1 = “abcd”; string s2 = “ABCD”; string s3 = @“Trung Tam Dao Tao CNTT Thanh Ho Chi Minh Viet Nam”; int result; // So sánh hai chuỗi với có phân biệt chữ thường chữ hoa result = string.Compare( s1 ,s2); Console.WriteLine(“So sanh hai chuoi S1: {0} S2: {1} ket qua: {2} \n”, s1 ,s2 ,result); // Sử dụng tiếp phương thức Compare() trường hợp không biệt // chữ thường hay chữ hoa 280 Xử Lý Chuỗi Ngôn Ngữ Lập Trình C# // Tham số thứ ba true 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\n”); Console.WriteLine(“S1: {0} , S2: {1}, ket qua : {2}\n”, s1, s2, result); // phương thức nối chuỗi string s4 = string.Concat(s1, s2); Console.WriteLine(“Chuoi S4 noi tu chuoi S1 va S2: {0}”, s4); // sử dụng nạp chồng toán tử + string s5 = s1 + s2; Console.WriteLine(“Chuoi S5 duoc noi tu chuoi S1 va S2: {0}”, s5); // Sử dụng phương thức copy chuỗi string s6 = string.Copy(s5); Console.WriteLine(“S6 duoc chep tu S5: {0}”, s6); // Sử dụng nạp chồng toán tử = string s7 = s6; Console.WriteLine(“S7 = S6: {0}”, s7); // Sử dụng ba cách so sánh hai chuỗi // Cách sử dụng chuỗi để so sánh với chuỗi lại Console.WriteLine(“S6.Equals(S7) ?: {0}”, s6.Equals(s7)); // Cách dùng hàm lớp string so sánh hai chuỗi Console.WriteLine(“Equals(S6, s7) ?: {0}”, string.Equals(s6, s7)); // Cách dùng toán tử so sánh Console.WriteLine(“S6 == S7 ?: {0}”, s6 == s7); // Sử dụng hai thuộc tính hay dùng mục chiều dài chuỗi Console.WriteLine(“\nChuoi S7 co chieu dai la : {0}”, s7.Length); Console.WriteLine(“Ky tu thu cua chuoi S7 la : {0}”, s7[2] ); // Kiểm tra xem chuỗi có kết thúc với nhóm ký // tự xác định hay không Console.WriteLine(“S3: {0}\n ket thuc voi chu CNTT ? : {1}\n”, s3, s3.EndsWith(“CNTT”)); Console.WriteLine(“S3: {0}\n ket thuc voi chu Nam ? : {1}\n”, s3, s3.EndsWith(“Nam”)); // Trả mục chuỗi Console.WriteLine(“\nTim vi tri xuat hien dau tien cua chu CNTT ”); Console.WriteLine(“trong chuoi S3 {0}\n”, s3.IndexOf(“CNTT”)); // Chèn từ nhân lực vào trước CNTT chuỗi S3 string s8 = s3.Insert(18, “nhan luc ”); Console.WriteLine(“ S8 : {0}\n”, s8); 281 Xử Lý Chuỗi Ngơn Ngữ Lập Trình C# // Ngồi ta kết hợp sau string s9 = s3.Insert( s3.IndexOf( “CNTT” ) , “nhan luc ”); Console.WriteLine(“ S9 : {0}\n”, s9); } // end Main } // end class } // end namespace  Kết quả: So sanh hai chuoi S1: abcd S2: ABCD ket qua: -1 Khong phan biet chu thuong va hoa S1: abcd , S2: ABCD, ket qua : Chuoi S4 noi tu chuoi S1 va S2: abcdABCD Chuoi S5 duoc noi tu chuoi S1 + S2: abcdABCD S6 duoc chep tu S5: abcdABCD S7 = S6: abcdABCD S6.Equals(S7) ?: True Equals(S6, s7) ?: True S6 == S7 ?: True Chuoi S7 co chieu dai la : Ky tu thu cua chuoi S7 la : c S3: Trung Tam Dao Tao CNTT Thanh Ho Chi Minh Viet Nam ket thuc voi chu CNTT ? : False S3: Trung Tam Dao Tao CNTT Thanh Ho Chi Minh Viet Nam ket thuc voi chu Minh ? : True Tim vi tri xuat hien dau tien cua chu CNTT chuoi S3 18 S8 : Trung Tam Dao Tao nhan luc CNTT Thanh Ho Chi Minh Viet Nam S9 : Trung Tam Dao Tao nhan luc CNTT Thanh Ho Chi Minh Viet Nam Như xem đoạn chương trình minh họa trên, chương trình bắt đầu với ba khai báo chuỗi: string s1 = “abcd”; string s2 = “ABCD”; 282 Xử Lý Chuỗi ... thể chuỗi rỗng Phương thức public static để so sánh hai chuỗi Phương thức public static để so sánh hai chuỗi không quan tâm đến thứ tự Phương thức public static để tạo chuỗi từ hay nhiều chuỗi. .. Copy() Phương thức public static tạo chuỗi từ chuỗi khác Equal() Phương thức public static kiểm tra xem hai chuỗi có giá trị hay khơng Format() Phương thức public static định dạng chuỗi dùng ký... s7); // Sử dụng ba cách so sánh hai chuỗi // Cách sử dụng chuỗi để so sánh với chuỗi lại Console.WriteLine(“S6.Equals(S7) ?: {0}”, s6.Equals(s7)); // Cách dùng hàm lớp string so sánh hai chuỗi

Ngày đăng: 10/05/2021, 23:56

Tài liệu cùng người dùng

Tài liệu liên quan