1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 7 – Chuỗi và kí tự doc

76 687 2

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 763,5 KB

Nội dung

Chương 7 Chuỗi tự  Outline 7.1 Giới thiệu về chuỗi tự 7.2 Khởi tạo chuỗi 7.4 Chỉ số chuỗi, thuộc tính độ dài Length phương thức CopyTo 7.5 So sánh chuỗi 7.6 Phương thức GetHashCode 7.7 Định vị tự một xâu con trong chuỗi 7.8 Trích chọn xâu con từ chuỗi 7.9 Nối, ghép chuỗi 7.10 Các phương thức xử lý chuỗi khác 7.11 Lớp StringBuilder 7.12 Phương thức EnsureCapacity 7.13 Các phương thức StringBuilder Append AppendFormat 7.14 Phương thức StringBuilder Insert, Remove Replace 7.15 Các phương thức xử lý tự 7.16 Card Shuffling Dealing Simulation 7.17 Các biểu thức lớp Regex 7.1 Giới thiệu về chuỗi tự  Chuỗi tự có khả năng  Sửa đổi text  Xử lý các từ  Mở rộng từ các chương trước  Lớp String kiểu char  Lớp StringBuilder  Lớp Regex Match  Tầm quan trọng của các ký tự  Hằng ký tự : là số nguyên đại diện cho ký tự đó  Mã hoá ký tự  Bảng ký tự Unicode  Chuỗi - String  Đối tượng của lớp String trong không gian tên System  Bao gồm các ký tự 7.2 Khởi tạo chuỗi  Lớp string cung cấp 8 hàm tạo chuỗi theo nhiều cách khác nhau  Ta xét ví dụ sau 1 // StringConstructor.cs 2 // Demonstrating String class constructors. 3 4 using System; 5 using System.Windows.Forms; 6 7 // test several String class constructors 8 class StringConstructor 9 { 10 // The main entry point for the application. 11 [STAThread] 12 static void Main( string[] args ) 13 { 14 string output; 15 string originalString, string1, string2, 16 string3, string4; 17 18 char[] characterArray = 19 { 'b', 'i', 'r', 't', 'h', ' ', 'd', 'a', 'y' }; 20 21 // string initialization 22 originalString = "Welcome to C# programming!"; 23 string1 = originalString; 24 string2 = new string( characterArray ); 25 string3 = new string( characterArray, 6, 3 ); 26 string4 = new string( 'C', 5 ); 27 28 output = "string1 = " + "\"" + string1 + "\"\n" + 29 "string2 = " + "\"" + string2 + "\"\n" + 30 "string3 = " + "\"" + string3 + "\"\n" + 31 "string4 = " + "\"" + string4 + "\"\n"; 32 Khai báo chuỗi xác định mảng char characterArray chứa 9 ký tự Gán một chuỗi chữ tham chiếu cho chuỗi originalString Cho string1 tham chiếu tới cùng chuỗi chữ đó String2 được gán là một chuỗi mới Hàm khởi tạo String nhận một mảng ký tự làm tham số Hàm khởi tạo String nhận một mảng char hai số nguyên int làm tham số Bắt đầu chỉ số đếm ArgumentOutOfRangeException loại bỏ nếu phần tử nằm ngoài khoảng Dùng hàm khởi tạo string với một ký tự một số nguyên để đếm số lần lặp lại ký tự trong string Chuỗi ra StringConstructor.cs 33 MessageBox.Show( output, "String Class Constructors", 34 MessageBoxButtons.OK, MessageBoxIcon.Information ); 35 36 } // end method Main 37 38 } // end class StringConstructor Hiển thị kết quả ra StringConstructor.cs 7.4 Chỉ số chuỗi, thuộc tính độ dài Length phương thức CopyTo  Chỉ số chuỗi  Chỉ số chuỗi cho phép xác định vị trí các ký tự trong chuỗi.  Thuộc tính độ dài  Trả về giá trị chiều dài của chuỗi ký tự  CopyTo  Copy một số ký tự trong chuỗi vào một mảng kiểu ký tự nào đó 1 // StringMethods.cs 2 // Using the indexer, property Length and method CopyTo 3 // of class String. 4 5 using System; 6 using System.Windows.Forms; 7 8 // creates string objects and displays results of using 9 // indexer and methods Length and CopyTo 10 class StringMethods 11 { 12 // The main entry point for the application. 13 [STAThread] 14 static void Main( string[] args ) 15 { 16 string string1, output; 17 char[] characterArray; 18 19 string1 = "hello there"; 20 characterArray = new char[ 5 ]; 21 22 // output string 23 output = 24 "string1: \"" + string1 + "\""; 25 26 // test Length property 27 output += "\nLength of string1: " + string1.Length; 28 29 // loop through character in string1 and display 30 // reversed 31 output += "\nThe string reversed is: "; 32 33 for ( int i = string1.Length - 1; i >= 0; i ) 34 output += string1[ i ]; 35 Khai báo String String1 để lưu chuỗi chữ “hello there” Nối vào kết quả ra chuỗi string1 theo thứ tự ngược lại StringMethods.cs 36 // copy characters from string1 into characterArray 37 string1.CopyTo( 0, characterArray, 0, 5 ); 38 output += "\nThe character array is: "; 39 40 for ( int i = 0 ; i < characterArray.Length; i++ ) 41 output += characterArray[ i ]; 42 43 MessageBox.Show( output, "Demonstrating the string " + 44 "Indexer, Length Property and CopyTo method", 45 MessageBoxButtons.OK, MessageBoxIcon.Information ); 46 47 } // end method Main 48 49 } // end class StringMethods Chỉ số để bắt đầu copy Copy tới mảng ký tự này Chỉ số vị trí đặt vào mảng ký tự Số ký tự cần copy từ string Nối nội dung mảng char vào xâu string output Phương thức Copyto được gọi bởi string1 StringMethods.cs 7.5 So sánh chuỗi  So sánh chuỗi  Lớn hơn  Nhỏ hơn  Phương thức Equals  Kiểm tra sự bằng nhau của các đối tượng  Trả lại giá trị logic Bool  Dùng cách so sánh từ điển 1 // StringCompare.cs 2 // Comparing strings. 3 4 using System; 5 using System.Windows.Forms; 6 7 // compare a number of strings 8 class StringCompare 9 { 10 // The main entry point for the application. 11 [STAThread] 12 static void Main( string[] args ) 13 { 14 string string1 = "hello"; 15 string string2 = "good bye"; 16 string string3 = "Happy Birthday"; 17 string string4 = "happy birthday"; 18 string output; 19 20 // output values of four strings 21 output = "string1 = \"" + string1 + "\"" + 22 "\nstring2 = \"" + string2 + "\"" + 23 "\nstring3 = \"" + string3 + "\"" + 24 "\nstring4 = \"" + string4 + "\"\n\n"; 25 26 // test for equality using Equals method 27 if ( string1.Equals( "hello" ) ) 28 output += "string1 equals \"hello\"\n"; 29 else 30 output += "string1 does not equal \"hello\"\n"; 31 32 // test for equality with == 33 if ( string1 == "hello" ) 34 output += "string1 equals \"hello\"\n"; Ví dụ phương thức Equals So sánh giá trị Unicode trong mỗi xâu Toán tử bằng StringCompare.cs [...]... cho xâu string1 string2 StringHashCode.cs Giá trị Hash code của strings “hello” “Hello” 7. 7  Định vị tự một xâu con trong chuỗi Trong nhiều ứng dụng, cần phải tìm một ký tự hay một chuỗitự trong một chuỗi, một văn bản  Ví dụ sau đây sẽ cung cấp một số phương thức trên các chuỗi  IndexOf  IndexOfAny  LastIndexOf  LastIndexOfAny 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21... tự nào ); "located at " + letters.IndexOfAny( searchLetters đó xuất hiện đầu output += "\nFirst "located at " + tham số đầu tiên trong tham số mảngtiên occurrence of 'c, 'a' or '$' is " + lý tự letters.IndexOfAny( searchLetters, 7 ); output += "\nFirst occurrence of 'c', 'a' or '$' is " + "located at " + letters.IndexOfAny( searchLetters, 20, 5 ); là StringIndexMethods.cs 69 70 71 72 73 74 75 76 77 ... gốc không đổi Method ToLower  Chuyển các các ký tự viết hoa thành ký tự thường  Xâu gốc không đổi 7. 10 Các phương thức xử lý chuỗi khác  Phương thức ToString   Gọi để có xâu đại diện cho bất kỳ đối tượng nào Phương thức Trim  Bỏ các ký tự trắng  Bỏ các ký tự trong tham số mảng 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 // StringMiscellaneous2.cs //... dài xâu con cần các chỉ tự đặc biệt của ký số bắt đầu } // end method Main } // end class SubString xâu gốccopy một bản số xác sẽ bị SubString.cs 7. 9  Nối, ghép chuỗi Phương thức tĩnh Concat    Nhận 2 xâu trả lại một xâu mới string s3 = string.Concat(s1, s2); Dùng toán tử ‘+’: string s5 = s1 + s2; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 // SubConcatination.cs... thành công tham số:ký tự cần tìm chỉ số ban lại chỉ số của vị in aký tự sẽ trả đầu để occurrence of substring trí string tìm kiếm cần số,ký tự output += "\n'$' is located at index " + IndexOf cần 3 tham tìm,nếu không trả lại giá trị letters.IndexOf( '$', 3, 5 ); -1 cần tìm,chỉ số ban đầu để tìm Nhận ký tự là cần tìm // test LastIndexOf to find a character in a string số ký tự tham output += "\n\nLast... ); output += "\nLast 'a' is located at index " + letters.LastIndexOf( 'a', 25 ); Các đầu ra này Có 2 tham số:ký tự cần tìm dùng phương thức chỉ số cao nhất để tìm ngược về LastIndexOf phía sau 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 output += "\nLast '$' is located at index " + letters.LastIndexOf( '$', 15, 5 ); // test IndexOf to locate... Main } // end class StringIndexMethods StringIndexMethods.cs 7. 8 Trích chọn xâu con từ chuỗi  Phương thức Substring  Trích một chuỗi con từ một chuỗi có sẵn  Trả về một chuỗi mới  Xét ví dụ SubString.cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 // SubString.cs // Demonstrating the String Substring method SubString.cs using System; using System.Windows.Forms;... Đảm bảo rằng StringBuilder hiện thời có khả năng tối thiểu lớn như một giá trị xác định •Insert() Chèn một đối tượng vào một vị trí xác định •Replace() Thay thế tất cả thể hiện của một ký tự xác định với những ký tự mới 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 // StringBuilderConstructor.cs // Demonstrating StringBuilder class constructors using System;... string[] args ) { Hàm khởi tạo không tham StringBuilder buffer1, buffer2, buffer3; StringBuilder với kích cỡ string output; số Stringbuilder định là là bội Kích thước khởi tạo 16 khởi đầu mặc không có các Stringbuilder của 2 lớn hơn ký tự nhất với số nhỏ kích thước khởi đầu tham số dạng xâu số là 10 tự trong tham số ký string = "buffer1 = \"" + buffer1.ToString() + "\"\n"; Method ToString có đại diện... letters.LastIndexOf( "def", 25 ); IndexOf LastIndexOf có chức năng tương tự như LastIndexOf IndexOf Thay vì gửi tham số ký tự, hai phương thức này tìm tham số là xâu con output += "\nLast \"hello\" is located at index " + letters.LastIndexOf( "hello", 20, 15 ); // test IndexOfAny to find first occurrence of character // in array Method IndexOfAny Trả " +chỉ số của ký tự lại output += "\n\nFirst occurrence . Chương 7 – Chuỗi và kí tự  Outline 7. 1 Giới thiệu về chuỗi và kí tự 7. 2 Khởi tạo chuỗi 7. 4 Chỉ số chuỗi, thuộc tính độ dài Length và phương. CopyTo 7. 5 So sánh chuỗi 7. 6 Phương thức GetHashCode 7. 7 Định vị kí tự và một xâu con trong chuỗi 7. 8 Trích chọn xâu con từ chuỗi 7. 9 Nối, ghép chuỗi 7. 10

Ngày đăng: 20/03/2014, 17:21

w