توابع رشته‌ای

توابع کار با رشته: 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;

خلاصه

این مبحث بخشی از دوره آموزش کامل پاسکال است.

ابزارهای مرتبط