توابع رشتهای
توابع کار با رشته: copy، pos، uppercase، lowercase، trim و تبدیلها.
جعبهابزار رشتهها
| تابع | کار | مثال | نتیجه |
|---|---|---|---|
length(s) | طول رشته | length('Pascal') | 6 |
copy(s, start, count) | برش زیررشته | copy('Pascal', 2, 3) | 'asc' |
pos(needle, s) | موقعیت یافتن (۰ اگر نبود) | pos('ca', 'Pascal') | 4 |
uppercase(s) | حروف بزرگ | uppercase('ali') | 'ALI' |
lowercase(s) | حروف کوچک | lowercase('ALI') | 'ali' |
trim(s) | حذف فاصلههای دو طرف | trim(' hi ') | 'hi' |
concat(a, b, ...) | اتصال | concat('a', 'b') | 'ab' |
IntToStr(n) | عدد → رشته | IntToStr(42) | '42' |
StrToInt(s) | رشته → عدد | StrToInt('42') | 42 |
copy — برش رشته
var s: string;
begin
s := 'Programming';
writeln(copy(s, 1, 7)); { Program — از ۱، هفت کاراکتر }
writeln(copy(s, 8, 20)); { ing — بیشتر از باقی هم اشکال ندارد }
end;
pos — جستجو
var s: string;
begin
s := 'Hello World';
writeln(pos('World', s)); { 7 }
writeln(pos('xyz', s)); { 0 — پیدا نشد }
if pos('World', s) > 0 then
writeln('کلمه پیدا شد!');
end;
uppercase / lowercase
writeln(uppercase('Hello')); { HELLO }
writeln(lowercase('Hello')); { hello }
{ مقایسه بدون حساسیت به حروف }
if lowercase('YES') = 'yes' then
writeln('یکسان هستند');
ترکیب توابع: مثالهای واقعی
استخراج اسم کوچک از اسم کامل
var
full, first: string;
spacePos: integer;
begin
full := 'Ali Mohammadi';
spacePos := pos(' ', full);
if spacePos > 0 then
first := copy(full, 1, spacePos - 1)
else
first := full;
writeln(first); { Ali }
end;
شمارش تعداد کلمات
var
s: string;
i, words: integer;
begin
s := 'the quick brown fox';
words := 1;
for i := 1 to length(s) do
if s[i] = ' ' then
words := words + 1;
writeln('Words: ', words); { 4 }
end;
جایگزینی کاراکتر
var
s: string;
i: integer;
begin
s := 'a-b-c-d';
for i := 1 to length(s) do
if s[i] = '-' then
s[i] := '_';
writeln(s); { a_b_c_d }
end;
خلاصه
- برش:
copy(s, شروع, تعداد) - جستجو:
pos(چه, کجا)— ۰ یعنی نبود - حالت: uppercase / lowercase / trim
- تبدیل: IntToStr / StrToInt
این مبحث بخشی از دوره آموزش کامل پاسکال است.