Pascal hỗ trợ các thao tác xử lý chuỗi đơn giản, bao gồm nối chuỗi, tìm kiếm, cắt và lấy độ dài chuỗi.
Ví dụ, để nối hai chuỗi trong Pascal, chúng ta có thể sử dụng toán tử “+” như sau:
program ConcatenateStrings;
var
str1, str2, str3: string;
begin
str1 := 'Hello';
str2 := 'World';
str3 := str1 + ' ' + str2;
writeln(str3); // In ra 'Hello World'
end.
Để tìm kiếm một chuỗi con trong chuỗi lớn hơn, chúng ta có thể sử dụng hàm Pos. Hàm Pos sẽ trả về vị trí đầu tiên của chuỗi con trong chuỗi lớn hơn, hoặc 0 nếu chuỗi con không được tìm thấy.
program FindSubstring;
var
str1, str2: string;
pos: integer;
begin
str1 := 'The quick brown fox jumps over the lazy dog';
str2 := 'fox';
pos := Pos(str2, str1);
if pos > 0 then
writeln('Found at position ', pos) // In ra 'Found at position 17'
else
writeln('Not found');
end.
Để cắt một phần của chuỗi, chúng ta có thể sử dụng hàm Copy. Hàm Copy sẽ trả về một chuỗi con của chuỗi ban đầu, bắt đầu từ vị trí đầu tiên và có độ dài xác định.
program CopyString;
var
str1, str2: string;
begin
str1 := 'The quick brown fox jumps over the lazy dog';
str2 := Copy(str1, 17, 3);
writeln(str2); // In ra 'fox'
end.
Để lấy độ dài của một chuỗi, chúng ta có thể sử dụng hàm Length.
program StringLength;
var
str: string;
len: integer;
begin
str := 'Hello World';
len := Length(str);
writeln(len); // In ra 11
end.
Ngoài ra, Pascal cũng hỗ trợ các hàm và thủ tục xử lý chuỗi phức tạp hơn, bao gồm chuẩn hóa chuỗi, thay thế chuỗi, cắt bỏ khoảng trắng và chuyển đổi kiểu dữ liệu.
Dưới đây là một số hàm xử lý chuỗi thông dụng trong Pascal:
Length(str: string): Integer
: Trả về độ dài của chuỗi.Pos(subStr, str: string): Integer
: Tìm vị trí đầu tiên của chuỗi consubStr
trong chuỗistr
. Nếu không tìm thấy, trả về giá trị 0.Copy(str: string; index, count: Integer): string
: Cắt chuỗistr
bắt đầu từ vị tríindex
với độ dàicount
và trả về chuỗi kết quả.Concat(str1, str2: string): string
: Nối hai chuỗistr1
vàstr2
và trả về chuỗi kết quả.LowerCase(str: string): string
: Chuyển tất cả các ký tự trong chuỗistr
thành chữ thường.UpperCase(str: string): string
: Chuyển tất cả các ký tự trong chuỗistr
thành chữ hoa.Trim(str: string): string
: Loại bỏ khoảng trắng thừa ở đầu và cuối chuỗistr
.PosEx(subStr, str: string; offset: Integer): Integer
: Tìm vị trí đầu tiên của chuỗi consubStr
trong chuỗistr
, bắt đầu tìm kiếm từ vị tríoffset
.Delete(str: string; index, count: Integer): string
: Xóacount
ký tự trong chuỗistr
bắt đầu từ vị tríindex
.Insert(subStr, str: string; index: Integer): string
: Chèn chuỗi consubStr
vào chuỗistr
tại vị tríindex
.Replace(oldSubStr, newSubStr, str: string; count: Integer): string
: Thay thếcount
chuỗi conoldSubStr
trong chuỗistr
bằng chuỗi connewSubStr
.Copy(str: string; index: Integer): string
: Cắt chuỗistr
bắt đầu từ vị tríindex
đến hết chuỗi và trả về chuỗi kết quả.
Các hàm này giúp cho việc xử lý chuỗi trong Pascal trở nên đơn giản và dễ dàng hơn.