Tài liệu XỬ LÝ CHUỖI phần 1 - Pdf 92

XỬ LÝ CHUỖI
· Lớp đối tượng string· Tạo một chuỗi· Tạo chuỗi dùng phương thức ToString· Thao tác trên chuỗi· Tìm một chuỗi con· Chia chuỗi

· Thao tác trên chuỗi dùng StringBuilder· Các biểu thức quy tắc· Sử dụng biểu thức quy tắc qua lớp Regex· Sử dụng Regex để tìm tập hợp

Trong chương 10 này chúng ta sẽ học cách làm việc với kiểu dữ liệu string của ngôn
ngữ C#, kiểu string này chính là một alias của lớp System.String của .NET
Framework. Chúng ta cũng sẽ thấy được cách rút trích ra chuỗi con, thao tác và nối
các chuỗi, xây dựng một chuỗi mới với lớp StringBuilder. Thêm vào đó, chúng ta sẽ
được học cách sử dụng lớp Regex để so khớp các chuỗi dựa trên biểu thức quy tắc
phức tạp.
Lớp đối tượng String

C# xem những chuỗi như là những kiểu dữ liệu cơ bản tức là các lớp này rất linh
hoạt, mạnh mẽ, và nhất là dễ sử dụng. Mỗi đối tượng chuỗi là một dãy cố định các ký
tự Unicode. Nói cách khác, các phương thức được dùng để làm thay đổi một chuỗi
thực sự trả về một bản sao đã thay đổi, chu
ỗi nguyên thủy không thay đổi. Khi chúng
ta khai báo một chuỗi C# bằng cách dùng từ khóa string, là chúng ta đã khai báo một
đối tượng của lớp System.String, đây
là một trong những kiểu dữ liệu được xây dựng sẵn được cung cấp bởi thư viện
lớp .NET (.NET Framework Class Library). Do đó một kiểu dữ liệu chuỗi C#
là kiểu dữ liệu System.String, và trong suốt chương này dùng hai tên hoán đổi lẫn
nhau.
Khai báo của lớp System.String như sau:

public sealed class String : IComparable, ICloneble, IConvertible
Khai báo này cho thấy lớp String
đã được đóng dấu là không cho phép kế thừa, do đó
chúng ta không thể dẫn xuất từ lớp này được. Lớp này cũng thực thi ba giao diện
hệ thống là IComparable, ICloneable, và IConvertible – giao diện này cho phép
lớp System.String chuyển đổi với những lớp khác trong hệ thống .NET.
Như chúng ta đã xem trong chương 9, giao diện IComparable được thực thi bởi các
kiểu dữ liệu đã được sắp xếp. Ví dụ như chuỗi thì theo cách sắp xếp Alphabe. Bất c


giản là những ký tự được thêm vào chuỗi. Do vậy, ta có 2 định nghĩa chuỗi sau là
tương đương với nhau:
string literal1 = “\\\\MyDocs\\CSharp\\ProgrammingC#.cs”;

string verbatim1 = @”\\MyDocs\CSharp\ProgrammingC#.cs”;
Trong chuỗi thứ nhất, là một chuỗi bình thường được sử dụng, do đó dấu ký tự chéo
là ký tự escape, nên nó phải được đặt tr
ước một ký tự chéo ngược thứ hai. Trong
khai báo thứ hai chuỗi nguyên văn được 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 có thể sử dụng qua lại giữa hai cách định nghĩa trên. Việc lựa chọn phụ
thuộc vào sự thuận tiện trong từng trường hợp hay phong cách riêng của mỗi người.

Tạo chuỗi dùng phương thứ
c ToString của đối tượng

Một cách rất phổ biến khác để tạo một chuỗi là gọi phương thức ToString() của
một đối tượng và gán kết quả đến một biến chuỗi. Tất cả các kiểu dữ liệu cơ bản phủ
quyết phương thức này rất đơn giản là chuyển đổi giá trị (thông thường là giá trị số)
đến một chuỗi thể hi
ện của giá trị. Trong ví dụ theo sau, phương thức ToString() của
kiểu dữ liệu int được gọi để lưu
trữ giá trị của nó trong một chuỗi:

int myInt = “9”;

string intString = myInt.ToString();
Phương thức myInt.ToString() trả về một đối tượng String và đối tượng này được gán

Phương thức public static tạo ra một chuỗi mới bằng
sao từ chuỗi
khác.
Equal()
Phương thức public static kiểm tra xem hai chuỗi có
cùng giá
trị hay không.
Format()
Phương thức public static định dạng một chuỗi dùng
kýtự lệnh định dạng xác định.
Intern()
Phương thức public static trả về tham chiếu đến thể
hiện của chuỗi.
IsInterned()
Phương thức public static trả về tham chiếu của chuỗi
Join()
Phương thức public static kết nối các chuỗi xác định
giữa
mỗi thành phần của mảng chuỗi.
Chars()
Indexer của chuỗi.
Length()
Chiều dài của chuỗi.
Clone()
Trả về chuỗi.
CompareTo()
So sánh hai chuỗi.
CopyTo() Sao chép một số các ký tự xác định đến một mảng
ký tự Unicode.
EndsWidth() Chỉ ra vị trí của chuỗi xác định phù hợp với chuỗi

TrimStart()
Xóa như Trim nhưng ở vị trí đầu.
Bảng 10.1 : Phương thức và thuộc tính của lớp String
Trong ví dụ 10.1 sau đây chúng ta minh họa việc sử dụng một số các phương thức
của chuỗi như Compare(), Concat() (và dùng toán tử +), Copy() (và dùng toán
tử =), Insert(), EndsWith(), và chỉ mục IndexOf.
Ví dụ 10.1 : Làm việc với chuỗi.
-----------------------------------------------------------------------------

namespace Programming_CSharp

{using System;

public class StringTester

{

static void Main()

{// khởi tạo một số chuỗi để thao tác
string s1 = “abcd”;
string s2 = “ABCD”;

string s3 = @“Trung Tam Dao Tao CNTT


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status