کتابخانه‌ی استاندارد · متن

رشته str

هر کاری که با متن دارید: جستجو، برش، جایگزینی، رقم فارسی، حروف بزرگ و کوچک و ساختن رشته‌های بلند.

واردسازی رشته
در این صفحه
  1. گونه‌ها
  2. روال‌ها

بسته‌ی رشته پرکاربردترین بسته‌ی سلام است. هر جا با متن سروکار دارید، از خواندن ورودی کاربر تا ساختن خروجی، روال‌های این بسته به کارتان می‌آیند.

پیش از شروع یک نکته را بدانید: رشته‌های سلام UTF-8 هستند. در UTF-8 هر حرف انگلیسی یک بایت است، اما هر حرف فارسی دو بایت. برای همین بیشتر روال‌ها دو نسخه دارند: روال‌هایی مثل طول، زیررشته و اندیس با بایت کار می‌کنند و سریع‌اند، و روال‌هایی مثل شمارنویسه، زیررشته نویسه و بیاب نویسه با حرف کار می‌کنند. برای متن فارسی، هر جا شمارش یا برش به چشم کاربر مهم است، نسخه‌ی حرفی را به کار ببرید.

یک قدم دورتر، «خوشه» است: آنچه خواننده یک حرف می‌بیند. «کَ» دو نویسه است (ک و فتحه) اما یک خوشه، و شکلک خانواده هفت نویسه است اما یک خوشه. برای برعکس کردن یا بریدن متنی که اعراب یا شکلک دارد، روال‌های خوشه‌ای مطمئن‌ترند.

گونه‌ها

سازنده رشته StringBuilder

ساختار سازنده رشته
سازنده‌ی رشته: حافظه‌ای که رشته را کم‌کم در آن می‌سازید. همیشه آن را با سازنده() بسازید و با روال‌های «بافر» به کار ببرید؛ فیلدهایش را مستقیم تغییر ندهید.
نامانگلیسیگونهتوضیح
datadataتهی*نشانی حافظه‌ای که متن در آن نوشته می‌شود.
lenlenصحیح۶۴ = 0تعداد بایت‌هایی که تا حالا نوشته شده.
capcapصحیح۶۴ = 0اندازه‌ی حافظه‌ی گرفته‌شده، بر حسب بایت. وقتی پر شود، خودبه‌خود بزرگ‌تر می‌شود.
str-StringBuilder.salam
واردسازی رشته

روال ریشه:
    ناپایا ب := رشته.سازنده()
    دیرکن رشته.آزادسازی بافر(ب)
    سرچاپ رشته.بافر خالی است(ب)
    تکرار ۱ تا ۳ در ای:
        رشته.افزودن به بافر(ب، "بخش ")
        رشته.افزودن عدد به بافر(ب، ای)
        رشته.افزودن نویسه به بافر(ب، ۴۴)
    پایان
    رشته.افزودن کدنقطه به بافر(ب، ۱۷۷۶)
    سرچاپ رشته.رشته بافر(ب)
    سرچاپ رشته.طول بافر(ب)، رشته.بافر خالی است(ب)
    رشته.بازنشانی بافر(ب)
    سرچاپ رشته.طول بافر(ب)
پایان
خروجیtrue بخش 1,بخش 2,بخش 3,۰ 29 false 0

روال‌ها

شامل است Contains

روال شامل است(s: رشته، sub: رشته): منطقی
اگر sub جایی در رشته باشد، درست برمی‌گرداند.
str-Contains.salam
واردسازی رشته

روال ریشه:
    م := "سلام، دنیای سلام"
    سرچاپ رشته.شامل است(م، "دنیا")، رشته.شروع با(م، "سلام")، رشته.پایان با(م، "سلام")
    سرچاپ رشته.اندیس(م، "سلام")، رشته.آخرین اندیس(م، "سلام")، رشته.جستجو(م، "نیست")
    سرچاپ رشته.اندیس از(م، "سلام"، ۱)، رشته.شمارش(م، "سلام")
پایان
خروجیtrue true true 0 22 -1 22 2

شروع با StartsWith

روال شروع با(s: رشته، prefix: رشته): منطقی
اگر رشته با prefix شروع شود، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Contains.salam

پایان با EndsWith

روال پایان با(s: رشته، suffix: رشته): منطقی
اگر رشته با suffix تمام شود، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Contains.salam

روال جستجو(s: رشته، sub: رشته): صحیح
جای نخستین تکرار sub را بر حسب بایت برمی‌گرداند، یا منفی یک. همان اندیس است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Contains.salam

اندیس IndexOf

روال اندیس(s: رشته، sub: رشته): صحیح
جای نخستین تکرار sub را بر حسب بایت برمی‌گرداند، یا منفی یک اگر پیدا نشود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Contains.salam

اندیس از IndexFrom

روال اندیس از(s: رشته، sub: رشته، from: صحیح): صحیح
مثل اندیس، ولی جستجو را از بایت from شروع می‌کند؛ برای پیدا کردن تکرار بعدی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Contains.salam

شمارش Count

روال شمارش(s: رشته، sub: رشته): صحیح
تعداد تکرارهای جدا از هم sub در رشته را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Contains.salam

آخرین اندیس LastIndex

روال آخرین اندیس(s: رشته، sub: رشته): صحیح
جای آخرین تکرار sub را بر حسب بایت برمی‌گرداند، یا منفی یک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Contains.salam

مقدار رقم DigitValue

روال مقدار رقم(cp: صحیح): صحیح
مقدار عددی یک رقم را برمی‌گرداند، چه انگلیسی باشد، چه فارسی، چه عربی. برای نویسه‌ای که رقم نیست منفی یک برمی‌گرداند.
str-Digits.salam
واردسازی رشته

روال ریشه:
    سرچاپ رشته.به رقم فارسی("سفارش 1403")
    سرچاپ رشته.به رقم انگلیسی("کد ۱۲۳ و ٤٥٦")
    سرچاپ رشته.به رقم عربی("2025")
    سرچاپ رشته.دارای رقم فارسی است("۱۲")، رشته.دارای رقم عربی است("۱۲")، رشته.دارای رقم انگلیسی است("12")
    ر := رشته.کدنقطه ها("۷").بگیر(۰)
    سرچاپ رشته.رقم فارسی است(ر)، رشته.رقم عربی است(ر)، رشته.رقم فارسی عربی انگلیسی است(ر)
    سرچاپ رشته.مقدار رقم(ر)، رشته.مقدار رقم(۶۵)
پایان
خروجیسفارش ۱۴۰۳ کد 123 و 456 ٢٠٢٥ true false true true false true 7 -1

رقم عربی است IsArabicDigit

روال رقم عربی است(cp: صحیح): منطقی
اگر نویسه یکی از رقم‌های عربی ٠ تا ٩ باشد، درست برمی‌گرداند. رقم‌های فارسی شکل دیگری دارند و اینجا حساب نمی‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

رقم فارسی است IsPersianDigit

روال رقم فارسی است(cp: صحیح): منطقی
اگر نویسه یکی از رقم‌های فارسی ۰ تا ۹ باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

رقم فارسی عربی انگلیسی است IsAnyDigit

روال رقم فارسی عربی انگلیسی است(cp: صحیح): منطقی
اگر نویسه رقم انگلیسی، فارسی یا عربی باشد، درست برمی‌گرداند. برای پذیرفتن عدد از کاربری که هر صفحه‌کلیدی دارد، همین را بخواهید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

به رقم انگلیسی ToEnglishDigits

روال به رقم انگلیسی(s: رشته): رشته
همه‌ی رقم‌های فارسی و عربی رشته را به رقم انگلیسی تبدیل می‌کند و بقیه‌ی متن را دست نمی‌زند. پیش از ذخیره‌ی شماره‌تلفن یا کد ملی در پایگاه داده مفید است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

به رقم عربی ToArabicDigits

روال به رقم عربی(s: رشته): رشته
همه‌ی رقم‌های رشته را به رقم عربی تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

به رقم فارسی ToPersianDigits

روال به رقم فارسی(s: رشته): رشته
همه‌ی رقم‌های رشته را به رقم فارسی تبدیل می‌کند؛ برای نمایش عدد به کاربر فارسی‌زبان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

دارای رقم انگلیسی است HasEnglishDigits

روال دارای رقم انگلیسی است(s: رشته): منطقی
اگر رشته دست‌کم یک رقم انگلیسی داشته باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

دارای رقم عربی است HasArabicDigits

روال دارای رقم عربی است(s: رشته): منطقی
اگر رشته دست‌کم یک رقم عربی داشته باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

دارای رقم فارسی است HasPersianDigits

روال دارای رقم فارسی است(s: رشته): منطقی
اگر رشته دست‌کم یک رقم فارسی داشته باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Digits.salam

شمار خوشه GraphemeCount

روال شمار خوشه(s: رشته): صحیح
تعداد خوشه‌ها را برمی‌گرداند؛ یعنی تعداد «حرف‌هایی» که خواننده می‌بیند.
str-Graphemes.salam
واردسازی رشته

روال ریشه:
    م := "کَتاب👨‍👩‍👧"
    سرچاپ رشته.شمارنویسه(م)، رشته.شمار خوشه(م)
    سرچاپ رشته.خوشه ها(م)
    سرچاپ رشته.برعکس خوشه ای("سَلام")
پایان
خروجی10 5 ["کَ", "ت", "ا", "ب", "👨‍👩‍👧"] مالسَ

خوشه ها Graphemes

روال خوشه ها(s: رشته): وکتور<رشته>
رشته را به خوشه‌ها می‌شکند؛ هر حرف با اعرابش، یا هر شکلک ترکیبی، یک تکه است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Graphemes.salam

برعکس خوشه ای ReverseGraphemes

روال برعکس خوشه ای(s: رشته): رشته
رشته را خوشه به خوشه برعکس می‌کند تا اعراب از حرفش جدا نشود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Graphemes.salam

تجزیه متعارف NFD

روال تجزیه متعارف(s: رشته): رشته
رشته را به شکل «تجزیه‌ی متعارف» یونیکد درمی‌آورد: هر نویسه‌ی ترکیبی، مثل «آ»، به پایه و نشانه‌هایش (ا و مدّ) شکسته می‌شود.
str-NFC.salam
واردسازی رشته

روال ریشه:
    ترکیبی := "آ"
    تجزیه := رشته.تجزیه متعارف(ترکیبی)
    سرچاپ ترکیبی.طول()، تجزیه.طول()، ترکیبی == تجزیه
    سرچاپ رشته.ترکیب متعارف(تجزیه) == ترکیبی
    سرچاپ رشته.متعارف است(ترکیبی)، رشته.متعارف است(تجزیه)
    نمایشی := "ﻼ"
    سرچاپ رشته.تجزیه سازگاری(نمایشی)، رشته.ترکیب سازگاری(نمایشی)
پایان
خروجی2 4 false true true false لا لا

ترکیب متعارف NFC

روال ترکیب متعارف(s: رشته): رشته
رشته را به شکل «ترکیب متعارف» درمی‌آورد: پایه و نشانه‌ها تا جای ممکن دوباره یک نویسه می‌شوند. دو رشته‌ای که یکی دیده می‌شوند ولی با کدهای متفاوت ذخیره شده‌اند، پس از این تبدیل برابر می‌شوند؛ پیش از مقایسه یا ذخیره به کارش ببرید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-NFC.salam

تجزیه سازگاری NFKD

روال تجزیه سازگاری(s: رشته): رشته
مثل تجزیه‌ی متعارف، ولی شکل‌های «سازگاری» را هم باز می‌کند؛ مثلاً شکل‌های نمایشی عربی مثل ﻻ به حرف‌های معمولی تبدیل می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-NFC.salam

ترکیب سازگاری NFKC

روال ترکیب سازگاری(s: رشته): رشته
تجزیه‌ی سازگاری و سپس ترکیب متعارف. برای یکسان کردن متنی که از منبع‌های ناهمگون، مثل PDF، آمده مناسب است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-NFC.salam

متعارف است IsNFC

روال متعارف است(s: رشته): منطقی
اگر رشته از قبل به شکل ترکیب متعارف باشد، درست برمی‌گرداند؛ این بررسی از خود تبدیل ارزان‌تر است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-NFC.salam

بزرگ Upper

روال بزرگ(s: رشته): رشته
حرف‌ها را بزرگ می‌کند. حرف‌های فارسی بزرگ و کوچک ندارند و دست‌نخورده می‌مانند.
str-Upper.salam
واردسازی رشته

روال ریشه:
    سرچاپ رشته.بزرگ("salam")، رشته.کوچک("SALAM")، رشته.حالت عنوانی("hello world")
    سرچاپ رشته.یکسان بدون حساسیت("Straße"، "STRASSE")
    سرچاپ رشته.مقایسه بدون حساسیت("abc"، "ABX")
    سرچاپ رشته.بزرگ("سلام")
پایان
خروجیSALAM salam Hello World true -21 سلام

کوچک Lower

روال کوچک(s: رشته): رشته
حرف‌ها را کوچک می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Upper.salam

حالت عنوانی Title

روال حالت عنوانی(s: رشته): رشته
نخستین حرف هر واژه را بزرگ می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Upper.salam

یکسان بدون حساسیت EqualFold

روال یکسان بدون حساسیت(a: رشته، b: رشته): منطقی
دو رشته را بدون توجه به بزرگی و کوچکی حرف‌ها مقایسه می‌کند؛ قاعده‌های کامل یونیکد را هم رعایت می‌کند، پس «Straße» با «STRASSE» برابر است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Upper.salam

مقایسه بدون حساسیت CompareFold

روال مقایسه بدون حساسیت(a: رشته، b: رشته): صحیح
دو رشته را بدون توجه به بزرگی و کوچکی حرف‌ها مقایسه می‌کند و عددی منفی، صفر یا مثبت برمی‌گرداند؛ فقط علامت عدد مهم است، نه اندازه‌اش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Upper.salam

کدنقطه در CodePointAt

روال کدنقطه در(s: رشته، i: صحیح، cp &: صحیح): صحیح
نویسه‌ای را که از بایت i شروع می‌شود می‌خواند، کدنقطه‌اش را در cp می‌گذارد و تعداد بایت‌هایش را برمی‌گرداند. برای پیمایش دستی رشته، نویسه به نویسه.
str-CharCount.salam
واردسازی رشته

روال ریشه:
    م := "سلام"
    سرچاپ رشته.طول(م)، رشته.شمارنویسه(م)
    سرچاپ رشته.نویسه شماره(م، ۱)، رشته.زیررشته نویسه(م، ۱، ۲)
    سرچاپ رشته.بیاب نویسه(م، "ام")، رشته.برعکس(م)
    سرچاپ رشته.نویسه در(م، ۲)
    ناپایا کد := ۰
    ط := رشته.کدنقطه در(م، ۰، کد)
    سرچاپ کد، ط، رشته.طول نویسه(۲۱۶)
    کدها := رشته.کدنقطه ها(م)
    سرچاپ کدها
    سرچاپ رشته.از کدنقطه ها(کدها)
    سرچاپ رشته.نویسه ها("ab۱")
    سرچاپ رشته.همه اسکی("salam")، رشته.همه اسکی("سلام")
پایان
خروجی8 4 ل لا 2 مالس ل 1587 2 2 [1587, 1604, 1575, 1605] سلام ["a", "b", "۱"] true false

طول نویسه CharLen

روال طول نویسه(lead: صحیح): صحیح
از روی نخستین بایت یک نویسه می‌گوید آن نویسه چند بایت است (۱ تا ۴).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

نویسه در CharAt

روال نویسه در(s: رشته، i: صحیح): رشته
نویسه‌ای را برمی‌گرداند که از بایت i شروع می‌شود. شماره‌ی بایت است، نه شماره‌ی حرف؛ برای شماره‌ی حرف نویسه شماره را ببینید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

برعکس Reverse

روال برعکس(s: رشته): رشته
ترتیب نویسه‌های رشته را برعکس می‌کند. اگر متن اعراب یا شکلک دارد، برعکس خوشه ای درست‌تر است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

شمارنویسه CharCount

روال شمارنویسه(s: رشته): صحیح
تعداد نویسه‌های رشته را برمی‌گرداند، نه بایت‌ها را. برای «سلام» چهار است، در حالی که طول هشت می‌گوید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

زیررشته نویسه CharSubstr

روال زیررشته نویسه(s: رشته، start: صحیح، n: صحیح): رشته
از نویسه‌ی شماره‌ی start، به اندازه‌ی n نویسه برش می‌زند. نسخه‌ی امن زیررشته برای متن فارسی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

نویسه شماره CharAtIndex

روال نویسه شماره(s: رشته، i: صحیح): رشته
نویسه‌ی شماره‌ی i را برمی‌گرداند؛ شماره‌ها از صفر شروع می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

بیاب نویسه CharFind

روال بیاب نویسه(s: رشته، sub: رشته): صحیح
جای نخستین تکرار sub را بر حسب شماره‌ی نویسه برمی‌گرداند، یا منفی یک اگر نباشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

کدنقطه ها CodePoints

روال کدنقطه ها(s: رشته): وکتور<صحیح>
کدنقطه‌ی همه‌ی نویسه‌های رشته را در یک وکتور برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

از کدنقطه ها FromCodePoints

روال از کدنقطه ها(cps: وکتور<صحیح>): رشته
برعکس کدنقطه ها: از وکتوری از کدنقطه‌ها یک رشته می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

همه اسکی AllAscii

روال همه اسکی(s: رشته): منطقی
اگر همه‌ی نویسه‌های رشته اسکی (انگلیسی ساده) باشند، درست برمی‌گرداند. برای انتخاب راه سریع‌تر در پردازش متن مفید است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

نویسه ها Chars

روال نویسه ها(s: رشته): وکتور<رشته>
هر نویسه‌ی رشته را به شکل یک رشته‌ی جدا در وکتور برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-CharCount.salam

تکرار Repeat

روال تکرار(s: رشته، n: صحیح): رشته
رشته را n بار پشت‌سرهم تکرار می‌کند؛ برای کشیدن خط جداکننده در خروجی.
str-Fields.salam
واردسازی رشته

روال ریشه:
    سرچاپ رشته.تکرار("=-"، ۵)
    واژه‌ها := رشته.واژه ها("  زبان   برنامه‌نویسی\tسلام \n")
    سرچاپ واژه‌ها.طول()، واژه‌ها
پایان
خروجی=-=-=-=-=- 3 ["زبان", "برنامه‌نویسی", "سلام"]

واژه ها Fields

روال واژه ها(s: رشته): وکتور<رشته>
رشته را با هر تعداد فاصله، تب یا خط تازه به واژه‌ها می‌شکند و تکه‌های خالی را کنار می‌گذارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Fields.salam

سازنده NewBuilder

روال سازنده(): سازنده رشته
یک سازنده‌ی رشته‌ی خالی می‌سازد. وقتی متن بلندی را تکه‌تکه می‌سازید، این راه از چسباندن پشت‌سرهم با + خیلی سریع‌تر است. کارتان که تمام شد، آن را با آزادسازی بافر رها کنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

افزودن به بافر BufAppend

روال افزودن به بافر(b &: سازنده رشته، s: رشته)
یک رشته را به انتهای سازنده اضافه می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

افزودن نویسه به بافر BufAppendChar

روال افزودن نویسه به بافر(b &: سازنده رشته، code: صحیح)
یک بایت را با کد عددی‌اش اضافه می‌کند؛ برای نویسه‌های انگلیسی مثل ویرگول (۴۴).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

افزودن کدنقطه به بافر BufAppendCp

روال افزودن کدنقطه به بافر(b &: سازنده رشته، cp: صحیح)
یک نویسه‌ی یونیکد را با کدنقطه‌اش اضافه می‌کند؛ برای حرف‌ها و رقم‌های فارسی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

افزودن عدد به بافر BufAppendInt

روال افزودن عدد به بافر(b &: سازنده رشته، n: صحیح۶۴)
یک عدد صحیح را به شکل متن اضافه می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

طول بافر BufLen

روال طول بافر(b &: سازنده رشته): صحیح۶۴
اندازه‌ی متن ساخته‌شده را بر حسب بایت برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

بافر خالی است BufIsEmpty

روال بافر خالی است(b &: سازنده رشته): منطقی
اگر هنوز چیزی به سازنده اضافه نشده باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

رشته بافر BufStr

روال رشته بافر(b &: سازنده رشته): رشته
متن ساخته‌شده را به شکل یک رشته‌ی تازه برمی‌گرداند. سازنده بعد از آن هم قابل استفاده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

بازنشانی بافر BufReset

روال بازنشانی بافر(b &: سازنده رشته)
سازنده را خالی می‌کند، اما حافظه‌اش را نگه می‌دارد تا برای متن بعدی دوباره به کار برود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

آزادسازی بافر BufFree

روال آزادسازی بافر(b &: سازنده رشته)
حافظه‌ی سازنده را آزاد می‌کند. بهترین جایش درست پس از ساختن سازنده با دیرکن است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-StringBuilder.salam

طول Len

روال طول(s: رشته): صحیح
طول رشته را بر حسب بایت برمی‌گرداند. برای تعداد حرف‌ها شمارنویسه را ببینید.
str-Len.salam
واردسازی رشته

روال ریشه:
    الف := "سیب"
    ب := "انار"
    سرچاپ رشته.طول(الف)، رشته.خالی است("")، رشته.خالی است(الف)
    سرچاپ رشته.پیوست(الف، ب)
    سرچاپ رشته.مقایسه(الف، ب)، رشته.مقایسه(ب، الف)، رشته.مقایسه(الف، "سیب")
    سرچاپ رشته.یکسان است(الف، "سیب")
    سرچاپ رشته.زیررشته("salam donya"، ۶، ۵)، رشته.زیررشته درون("salam"، ۳، ۱۰)
    سرچاپ رشته.یافتن("salam donya"، "donya")
    ر := رشته.رونوشت(الف)
    سرچاپ ر
پایان
خروجی6 true false سیبانار 1 -1 0 true donya am 6 سیب

پیوست Concat

روال پیوست(a: رشته، b: رشته): رشته
دو رشته را پشت‌سرهم می‌چسباند؛ همان کار +.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Len.salam

مقایسه Compare

روال مقایسه(a: رشته، b: رشته): صحیح
دو رشته را بایت به بایت مقایسه می‌کند: منفی یک اگر اولی زودتر بیاید، صفر اگر برابر باشند و یک اگر دیرتر. برای مرتب کردن رشته‌ها به کار می‌آید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Len.salam

یکسان است Equals

روال یکسان است(a: رشته، b: رشته): منطقی
اگر دو رشته دقیقاً یکی باشند، درست برمی‌گرداند؛ همان ==.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Len.salam

زیررشته Substr

روال زیررشته(s: رشته، start: صحیح، n: صحیح): رشته
از بایت start به اندازه‌ی n بایت برش می‌زند. برای متن فارسی مراقب باشید وسط یک حرف را نبرید، یا از زیررشته نویسه استفاده کنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Len.salam

زیررشته درون SubstrIn

روال زیررشته درون(s: رشته، start: صحیح، n: صحیح): رشته
مثل زیررشته، ولی اگر بازه از رشته بیرون بزند، خطا نمی‌دهد و فقط بخشی را که هست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Len.salam

یافتن Find

روال یافتن(s: رشته، sub: رشته): صحیح
جای نخستین تکرار sub را بر حسب بایت برمی‌گرداند، یا منفی یک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Len.salam

تفکیک کردن Split

روال تفکیک کردن(s: رشته، delim: رشته): وکتور<رشته>
رشته را هر جا delim باشد می‌شکند و تکه‌ها را در یک وکتور برمی‌گرداند. وکتور را پس از کار آزاد کنید.
str-Split.salam
واردسازی رشته

روال ریشه:
    تکه‌ها := رشته.تفکیک کردن("سیب,انار,انگور"، ",")
    دیرکن تکه‌ها.آزادکن()
    سرچاپ تکه‌ها.طول()، تکه‌ها.بگیر(۱)
    سرچاپ رشته.بپیوند(تکه‌ها، " / ")
پایان
خروجی3 انار سیب / انار / انگور

بپیوند Join

روال بپیوند(parts: وکتور<رشته>، sep: رشته): رشته
تکه‌های وکتور را با sep بینشان به هم می‌چسباند؛ برعکس تفکیک کردن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Split.salam

پیرایش Trim

روال پیرایش(s: رشته): رشته
فاصله‌های دو سر رشته را حذف می‌کند. برای تمیز کردن ورودی کاربر پیش از هر کار دیگری آن را به کار ببرید.
str-Trim.salam
واردسازی رشته

روال ریشه:
    م := "   سلام دنیا   "
    سرچاپ "[" + رشته.پیرایش(م) + "]"
    سرچاپ "[" + رشته.پیرایش چپ(م) + "]"
    سرچاپ "[" + رشته.پیرایش راست(م) + "]"
    سرچاپ رشته.حذف پیشوند("https://salamlang.ir"، "https://")
    سرچاپ رشته.حذف پسوند("گزارش.txt"، ".txt")
پایان
خروجی[سلام دنیا] [سلام دنیا ] [ سلام دنیا] salamlang.ir گزارش

تبدیل به عدد ToInt

روال تبدیل به عدد(s: رشته): صحیح
رشته را به عدد صحیح تبدیل می‌کند؛ رقم فارسی و عربی هم پذیرفته است. اگر عددی پیدا نشود، صفر برمی‌گرداند.
str-ToInt.salam
واردسازی رشته

روال ریشه:
    سرچاپ رشته.تبدیل به عدد("۴۲") + ۱، رشته.تبدیل به عدد("abc")
    سرچاپ رشته.تبدیل به اعشار("2.5") * ۲
    سرچاپ "[" + رشته.از عدد(-۱۵) + "]"، "[" + رشته.از اعشار(۱.۲۵) + "]"
پایان
خروجی43 0 5 [-15] [1.25]

تبدیل به اعشار ToFloat

روال تبدیل به اعشار(s: رشته): اعشار۶۴
رشته را به عدد اعشاری تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-ToInt.salam

خالی است IsEmpty

روال خالی است(s: رشته): منطقی
اگر رشته هیچ نویسه‌ای نداشته باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Len.salam

رونوشت Clone

روال رونوشت(s: رشته): رشته
یک رونوشت مستقل از رشته می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Len.salam

جایگزینی Replace

روال جایگزینی(s: رشته، find: رشته، replacement: رشته): رشته
همه‌ی تکرارهای find را با replacement جایگزین می‌کند.
str-Replace.salam
واردسازی رشته

روال ریشه:
    سرچاپ رشته.جایگزینی("من سیب دوست دارم، سیب قرمز"، "سیب"، "انار")
پایان
خروجیمن انار دوست دارم، انار قرمز

از عدد FromInt

روال از عدد(i: صحیح۶۴): رشته
یک عدد صحیح را به متن تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-ToInt.salam

از اعشار FromFloat

روال از اعشار(f: اعشار۶۴): رشته
یک عدد اعشاری را به متن تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-ToInt.salam

اسکی است IsAscii

روال اسکی است(code: صحیح): منطقی
اگر کد در بازه‌ی اسکی (صفر تا ۱۲۷) باشد، درست برمی‌گرداند.
str-IsAscii.salam
واردسازی رشته

روال ریشه:
    هر م در ["A"، "z"، "7"، " "، "!"، "ب"، "۷"، "\t"]:
        ک := رشته.کدنقطه ها(م).بگیر(۰)
        سرچاپ "[" + م + "]"، رشته.اسکی است(ک)، رشته.حرف است(ک)، رشته.رقم است(ک)، رشته.فاصله است(ک)، رشته.نشانه نگارشی است(ک)
    پایان
    سرچاپ رشته.بزرگ اسکی است(۶۵)، رشته.کوچک اسکی است(۶۵)، رشته.بزرگ است(۱۰۴۰)، رشته.کوچک است(۱۰۷۲)
    سرچاپ رشته.رقم اسکی است(۵۰)، رشته.حرف اسکی است(۵۰)، رشته.الفبایی عددی اسکی است(۵۰)، رشته.فاصله اسکی است(۳۲)
    سرچاپ رشته.الفبایی عددی است(۱۷۷۶)، رشته.نشانه است(۱۶۱۴)، رشته.کنترلی است(۱۰)
پایان
خروجی[A] true true false false false [z] true true false false false [7] true false true false false [ ] true false false true false [!] true false false false true [ب] false true false false false [۷] false false true false false [ ] true false false true false true false true true true false true true true true true

فاصله اسکی است IsAsciiSpace

روال فاصله اسکی است(code: صحیح): منطقی
فقط فاصله‌های اسکی: فاصله، تب، خط تازه و مانند آن‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

رقم اسکی است IsAsciiDigit

روال رقم اسکی است(code: صحیح): منطقی
فقط رقم‌های انگلیسی 0 تا 9.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

بزرگ اسکی است IsAsciiUpper

روال بزرگ اسکی است(code: صحیح): منطقی
فقط حرف‌های بزرگ انگلیسی A تا Z.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

کوچک اسکی است IsAsciiLower

روال کوچک اسکی است(code: صحیح): منطقی
فقط حرف‌های کوچک انگلیسی a تا z.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

حرف اسکی است IsAsciiAlpha

روال حرف اسکی است(code: صحیح): منطقی
فقط حرف‌های انگلیسی، بزرگ یا کوچک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

الفبایی عددی اسکی است IsAsciiAlnum

روال الفبایی عددی اسکی است(code: صحیح): منطقی
حرف یا رقم انگلیسی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

فاصله است IsSpace

روال فاصله است(code: صحیح): منطقی
هر نوع فاصله در یونیکد، از جمله فاصله‌های اسکی و فاصله‌ی ژاپنی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

رقم است IsDigit

روال رقم است(code: صحیح): منطقی
هر رقم دهدهی یونیکد، از جمله فارسی و عربی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

بزرگ است IsUpper

روال بزرگ است(code: صحیح): منطقی
حرف بزرگ در هر خطی که حرف بزرگ دارد، مثل لاتین، یونانی و سیریلیک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

کوچک است IsLower

روال کوچک است(code: صحیح): منطقی
حرف کوچک در هر خطی که حرف کوچک دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

حرف است IsAlpha

روال حرف است(code: صحیح): منطقی
هر حرف در هر خطی، از جمله فارسی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

الفبایی عددی است IsAlnum

روال الفبایی عددی است(code: صحیح): منطقی
هر حرف یا رقم در هر خطی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

نشانه نگارشی است IsPunct

روال نشانه نگارشی است(code: صحیح): منطقی
هر نشانه‌ی نگارشی، مثل نقطه، ویرگول فارسی و علامت سؤال.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

نشانه است IsMark

روال نشانه است(code: صحیح): منطقی
نشانه‌های ترکیبی مثل اعراب عربی و فارسی (فتحه، کسره و…).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

کنترلی است IsControl

روال کنترلی است(code: صحیح): منطقی
نویسه‌های کنترلی مثل خط تازه و تب، که دیده نمی‌شوند و کاری انجام می‌دهند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-IsAscii.salam

پیرایش چپ TrimLeft

روال پیرایش چپ(s: رشته): رشته
فاصله‌ها، تب‌ها و خط‌های تازه‌ی اول رشته را حذف می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Trim.salam

پیرایش راست TrimRight

روال پیرایش راست(s: رشته): رشته
فاصله‌ها، تب‌ها و خط‌های تازه‌ی آخر رشته را حذف می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Trim.salam

حذف پیشوند TrimPrefix

روال حذف پیشوند(s: رشته، prefix: رشته): رشته
اگر رشته با prefix شروع شود، آن را برمی‌دارد؛ وگرنه رشته را دست‌نخورده برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Trim.salam

حذف پسوند TrimSuffix

روال حذف پسوند(s: رشته، suffix: رشته): رشته
اگر رشته با suffix تمام شود، آن را برمی‌دارد؛ برای جدا کردن پسوند پرونده مناسب است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: str-Trim.salam