نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • اهن
  • توابع 1c برای کار با رشته ها. توابع جدید برای کار با رشته ها

توابع 1c برای کار با رشته ها. توابع جدید برای کار با رشته ها

در نسخه 8.3.6.1977 پیاده سازی شده است.

ما مجموعه ای از توابع طراحی شده برای کار با رشته ها را گسترش داده ایم. ما این کار را انجام دادیم تا ابزارهای پیشرفته تری برای تجزیه داده های رشته در اختیار شما قرار دهیم. توابع جدید در وظایف فناورانه تحلیل متن راحت و مفید خواهند بود. در کارهای مربوط به تجزیه متنی که حاوی داده ها به صورت فرمت شده است. این می تواند تجزیه و تحلیل برخی از فایل های دریافت شده از تجهیزات، یا، به عنوان مثال، تجزیه و تحلیل یک گزارش فناوری باشد.

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

قالب بندی تابع StrTemplate()

این تابع پارامترها را در یک رشته جایگزین می کند. نیاز به چنین تبدیلی اغلب، به عنوان مثال، هنگام نمایش پیام های هشدار ایجاد می شود. سینتکس این تابع به صورت زیر است:

StrTemplate(<Шаблон>, <Значение1-Значение10>)

<Шаблон>- این رشته ای است که باید نمایش های پارامتر را در آن جایگزین کنید.

<Значение1> , ... <Значение10>- اینها پارامترهایی هستند (حداکثر ده) که نمایش آنها باید در رشته جایگزین شود.

برای نشان دادن یک مکان خاص در قالب که می خواهید جایگزینی را در آن انجام دهید، باید از نشانگرهایی مانند %1، ... %10 استفاده کنید. تعداد نشانگرهای درگیر در الگو و تعداد پارامترهای حاوی مقادیر باید مطابقت داشته باشند.

به عنوان مثال، نتیجه اجرای چنین عملگر:

یک خط وجود خواهد داشت:

خطای داده در خط 2 (نوع تاریخ لازم است)

تابعی برای کار با رشته ها StrCompare()

این تابع دو رشته را به روشی غیر حساس به حروف کوچک و بزرگ مقایسه می کند. به عنوان مثال، مانند این:

می توانید همان عمل را قبلاً با استفاده از شیء مقایسه ارزش انجام دهید:

با این حال، استفاده از ویژگی جدید ساده تر به نظر می رسد. و علاوه بر این، تابع، برخلاف شیء مقایسه ارزش، هم در تین کلاینت و هم در کلاینت وب کار می کند.

توابع کار با رشته های StrStartsWith()، StrEndsAt()

این توابع تعیین می کنند که آیا یک رشته با یک زیررشته مشخص شروع می شود یا یک رشته با یک زیررشته مشخص به پایان می رسد. پیاده سازی الگوریتم این توابع در یک زبان تعبیه شده دشوار نیست، اما وجود آنها به شما امکان می دهد کدهای تمیزتر و قابل فهم تری بنویسید. و سریعتر کار می کنند.

به عنوان مثال، استفاده از آنها در دستور If راحت است:

توابع کار با رشته های StrDivide(), StrConnect()

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

تابعی برای کار با رشته ها StrFind()

به جای تابع Find() قدیمی، یک تابع جدید پیاده سازی کرده ایم که دارای قابلیت های اضافی است:

  • جستجو در جهات مختلف (از ابتدا، از انتها)؛
  • جستجو از یک موقعیت مشخص؛
  • جستجوی یک رخداد با یک عدد مشخص (دوم، سوم و غیره).

در واقع، قابلیت های تابع قدیمی را کپی می کند. این کار به منظور حفظ سازگاری با ماژول های کامپایل شده در نسخه های قدیمی انجام می شود. توصیه می شود دیگر از تابع Find() قدیمی استفاده نکنید.

در زیر نمونه ای با استفاده از قابلیت های جستجوی جدید آورده شده است. جستجوی معکوس زمانی مفید است که به آخرین قسمت یک رشته رسمی، مانند نام کامل فایل در URL نیاز دارید. و جستجو از یک موقعیت مشخص در مواردی که باید در یک قطعه شناخته شده جستجو کنید و نه در کل خط کمک می کند.

رشته یکی از انواع داده های اولیه در سیستم های 1C:Enterprise 8 است. متغیرهایی با نوع خطحاوی متن

مقادیر متغیر را تایپ کنید خطدر دو گیومه قرار می گیرند. چندین متغیر از این نوع را می توان اضافه کرد.

Per1 = "Word 1" ;
Per2 = "Word 2" ;
Per3 = Per1 + " " + Per2 ;

در نهایت Per3به معنای " کلمه 1 کلمه 2 اینچ.

علاوه بر این، سیستم های 1C: Enterprise 8 عملکردهایی را برای کار با رشته ها ارائه می دهند. بیایید به موارد اصلی نگاه کنیم:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — این تابع برای نمایش یک کادر محاوره ای طراحی شده است که در آن کاربر می تواند مقدار یک متغیر از نوع را مشخص کند خط. پارامتر <Строка> مورد نیاز است و حاوی نام متغیری است که رشته وارد شده در آن نوشته می شود. پارامتر <Подсказка> اختیاری - این عنوان کادر محاوره ای است. پارامتر <Длина> اختیاری، حداکثر طول رشته ورودی را نشان می دهد. پیش‌فرض صفر است که به معنای طول نامحدود است. پارامتر <Многострочность> اختیاری. حالت ورودی متن چند خطی را تعریف می کند: True—ورودی متن چندخطی با جداکننده خط. نادرست - یک رشته ساده وارد کنید.

اگر کد کاراکتر را در یونیکد می دانید، می توانید یک رشته وارد کنید:

سمبل(<КодСимвола>) — کد به صورت عدد وارد می شود.

حرف= نماد(1103) ; // من

همچنین یک تابع معکوس وجود دارد که به شما امکان می دهد کد یک نماد را پیدا کنید.

SymbolCode(<Строка>, <НомерСимвола>) — عدد یونیکد کاراکتر مشخص شده را به صورت عدد برمی گرداند.

توابع تبدیل حروف متن:

VReg(<Строка>) - تمام کاراکترهای یک رشته را به حروف بزرگ تبدیل می کند.

NReg(<Строка>) - تمام کاراکترهای یک رشته را به حروف کوچک تبدیل می کند.

Treg(<Строка>) - تمام کاراکترهای رشته را به حروف عنوان تبدیل می کند. یعنی حروف اول همه کلمات به حروف بزرگ و حروف باقی مانده به حروف کوچک تبدیل می شوند.

توابع جستجو و جایگزینی کاراکترها در یک رشته:

پیدا کردن(<Строка>, <ПодстрокаПоиска>) - شماره کاراکتر وقوع زیررشته جستجو را پیدا می کند. مثلا:

یافتن ("رشته"، "oka") ; // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - شماره کاراکتر وقوع زیررشته جستجو را پیدا می کند، شماره وقوع در پارامتر مربوطه نشان داده می شود. در این حالت جستجو با کاراکتری که شماره آن در پارامتر مشخص شده است آغاز می شود موقعیت اولیهجستجو از ابتدا یا انتهای رشته امکان پذیر است. مثلا:

Number4 Occurrences = Str Find ( "تدافعی", "درباره" ,جهت جستجو. از شروع، 1، 4)؛ // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - همه موارد زیر رشته جستجو را در رشته منبع پیدا می کند و آن را با زیر رشته جایگزین جایگزین می کند.

StrReplace ("رشته"، "oka"، "") ; // صفحه

خط خالی(<Строка>) - رشته را برای کاراکترهای مهم بررسی می کند. اگر هیچ کاراکتر مهمی وجود نداشته باشد، یا اصلاً هیچ کاراکتری وجود نداشته باشد، مقدار برگردانده می شود درست است، واقعی. در غیر این صورت - دروغ.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – تعداد وقوع زیررشته جستجو را در رشته منبع محاسبه می کند.

StrNumberOccurrences ( "مطالعه، مطالعه و دوباره مطالعه"، "مطالعه" ، "" ) ؛ // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — پارامترها را با یک رشته جایگزین می کند. خط باید حاوی نشانگرهای جایگزینی به شکل "%1..%N" باشد. شماره گذاری نشانگر از 1 شروع می شود. اگر مقدار پارامتر تعریف نشده، یک رشته خالی جایگزین می شود.

StrTemplate ( "پارامتر 1 = %1، پارامتر 2 = %2", "1" , "2" ) ; // پارامتر 1= 1، پارامتر 2 = 2

توابع تبدیل رشته:

یک شیر(<Строка>, <ЧислоСимволов>) – اولین کاراکترهای یک رشته را برمی گرداند.

درست(<Строка>, <ЧислоСимволов>) – آخرین کاراکترهای یک رشته را برمی گرداند.

چهار شنبه(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - رشته ای از طول را برمی گرداند<ЧислоСимволов>، از نماد شروع می شود<НачальныйНомер>.

AbbrL(<Строка>) کاراکترهای غیر مهم را در سمت چپ اولین کاراکتر مهم در رشته برش می دهد.

مخفف(<Строка>) - نویسه‌های بی‌اهمیت را در سمت راست آخرین کاراکتر مهم در خط برش می‌دهد.

AbbrLP(<Строка>) - نویسه های بی اهمیت را در سمت چپ اولین نویسه مهم در خط و در سمت راست آخرین نویسه مهم در خط برش می دهد.

StrGetString(<Строка>, <НомерСтроки>) - یک رشته چند خطی را بر اساس عدد دریافت می کند.

ویژگی های دیگر:

طول (<Строка>) – تعداد کاراکترهای رشته را برمی گرداند.

StrNumberRow(<Строка>) - تعداد خطوط یک رشته چند خطی را برمی گرداند. یک خط در صورتی جدید در نظر گرفته می شود که با یک کاراکتر خط جدید از خط قبلی جدا شود.

StrCompare(<Строка1>, <Строка2> ) - دو رشته را به روشی غیر حساس با حروف بزرگ مقایسه می کند. یک تابع شبیه به یک شی کار می کند مقایسه ارزش ها. برمی گرداند:

  • 1 - اگر خط اول بزرگتر از خط دوم باشد
  • -1 - اگر خط دوم بزرگتر از خط اول باشد
  • 0 - اگر رشته ها مساوی باشند

StrCompare("خط اول"، "خط دوم") ; // 1

مکانیسم های کمی برای کار با رشته ها در جستارهای 1C وجود دارد. ابتدا خطوط را می توان اضافه کرد. در مرحله دوم، شما می توانید یک رشته فرعی از یک رشته بگیرید. ثالثاً، رشته ها را می توان با هم مقایسه کرد، از جمله با الگو. این احتمالاً تنها کاری است که می توان با رشته ها انجام داد.

اضافه کردن رشته

برای افزودن ردیف در یک پرس و جو، از عملیات "+" استفاده می شود. شما فقط می توانید رشته هایی با طول محدود اضافه کنید.

"Name: " + Counterparties. Name AS ستون 1 FROM Directory. Counterparties AS Counterparties WHERE Counterparties. پیوند = &پیوند

تابع رشته فرعی

SUBSTRING(<Строка>, <НачальнаяПозиция>, <Длина>)

آنالوگ تابع Environment() از مدل شی. تابع Substring() می تواند روی داده های رشته اعمال شود و به شما امکان می دهد یک قطعه را انتخاب کنید <Строки> ، با شماره کاراکتر شروع می شود <НачальнаяПозиция> (نویسه های یک خط از 1 شماره گذاری می شوند) و طول <Длина> شخصیت ها. نتیجه محاسبه تابع دارای یک نوع رشته با طول متغیر است و اگر طول آن نامحدود در نظر گرفته شود <Строка> دارای طول و پارامتر نامحدود است <Длина> ثابت یا بزرگتر از 1024 نیست.

اگر طول رشته کمتر از مقدار مشخص شده در پارامتر دوم باشد، تابع یک رشته خالی برمی گرداند.

توجه!استفاده از تابع ()SUBSTRING برای تبدیل رشته هایی با طول نامحدود به رشته هایی با طول محدود توصیه نمی شود. در عوض، بهتر است از عملگر cast () EXPRESS استفاده کنید.

تابع مشابه

اگر لازم باشد مطمئن شویم که یک ویژگی رشته دارای معیارهای خاصی است، آن را با هم مقایسه می کنیم:

طرفین را انتخاب کنید. نام به‌عنوان ستون 1 از فهرست راهنمای طرفین.

اما اگر نیاز به مقایسه ظریف تری داشته باشید چه؟ نه فقط برابری یا نابرابری، بلکه شباهت به یک الگوی خاص؟ این دقیقاً همان چیزی است که تابع SIMILAR برای آن ایجاد شده است.

LIKE - عملگر برای بررسی شباهت یک رشته به یک الگو. آنالوگ LIKE در SQL.

عملگر SIMILAR به شما امکان می دهد مقدار عبارت مشخص شده در سمت چپ آن را با رشته الگوی مشخص شده در سمت راست مقایسه کنید. مقدار عبارت باید از نوع رشته باشد. اگر مقدار عبارت با الگو مطابقت داشته باشد، نتیجه عملگر TRUE و در غیر این صورت FALSE خواهد بود.

کاراکترهای زیر در رشته الگو کاراکترهای سرویس هستند و معنایی متفاوت از کاراکتر رشته دارند:

  • % (درصد): دنباله ای حاوی هر تعداد کاراکتر دلخواه.
  • _ (تاکید): یک کاراکتر دلخواه.
  • […] (یک یا چند کاراکتر در براکت مربع): هر کاراکتر منفرد که در داخل کروشه ذکر شده است. شمارش ممکن است شامل محدوده هایی باشد، به عنوان مثال a-z، به این معنی که یک کاراکتر دلخواه در محدوده، از جمله انتهای محدوده، گنجانده شده است.
  • [^...] (در پرانتز یک علامت نفی به دنبال یک یا چند کاراکتر): هر کاراکتر منفرد غیر از آنهایی که در زیر علامت نفی فهرست شده اند.

هر علامت دیگری به معنای خودش است و بار اضافی را حمل نمی کند. اگر یکی از کاراکترهای فهرست شده باید به عنوان خودش نوشته شود، باید قبل از آن نوشته شود<Спецсимвол>. خودم<Спецсимвол>(هر کاراکتر مناسب) در همان عبارت بعد از کلمه کلیدی SPECIAL CHARACTER تعریف می شود.

سلام به همه
امروز از من خواستند هنگام چاپ سند پیاده سازی پیشوند سند نمایش داده نشود، مشکل را به صورت زیر حل کردم.

StrReplace(Number, Lev(Number, 3), "");

وقتی به دستیار نحو نگاه کردم آنقدر از آن خوشم آمد که خواستم در مورد آن بنویسم کار با رشته ها در 1C: Enterprise.

یک رشته در 1C به یک نوع داده اولیه اشاره دارد.

اگر به راهنمای 1C نگاه کنید، شرح زیر را در مورد نوع رشته خواهیم دید:
مقادیر این نوع شامل یک رشته یونیکد با طول دلخواه است.
اگر از کلمات خود در مورد رشته ها استفاده کنید، کارساز خواهد بود. رشته ثابت متشکل از کاراکترهای مختلف است که همیشه با نقل قول احاطه شده است.

تنظیم یک خط
سلام = "سلام مسافر";

خطوط چند خطی در پیکربندی های معمولی اغلب با استفاده از جداکننده عمودی "|" ایجاد می شوند:
رشته = "چند خطی
| رشته
|نوشتن
| متن"؛

یک علامت نقل قول در یک رشته با دو گیومه مشخص می شود.
String = ""متن در گیومه"";

عملیات زیادی روی رشته ها وجود دارد (جستجوی درون رشته، تعیین اولین ها و غیره)، بهتر است به Syntax Assistant نگاه کنید.
Syntax Helper - توضیحات کلی زبان داخلی -> توابع داخلی -> توابع کار با رشته ها.

توابع کار با رشته ها

در اینجا خلاصه ای از توابع کار با رشته ها آورده شده است:

VReg(<Строка>) - این تابع همه کاراکترهای رشته را به حروف بزرگ تبدیل می کند.

SymbolCode(<Строка>, <НомерСимвола>) – تابع کد کاراکتر واقع در رشته ارسالی را در موقعیتی با عدد مشخص شده دریافت می کند.

یک شیر(<Строка>, <ЧислоСимволов>) – تابع اولین کاراکتر سمت چپ رشته را انتخاب می کند.

پیدا کردن(<Строка>, <ПодстрокаПоиска>) - تابع یک رخداد از رشته جستجو را به عنوان یک رشته فرعی در رشته منبع پیدا می کند.

NReg(<Строка>) - این تابع همه کاراکترهای رشته را به حروف کوچک تبدیل می کند.

درست(<Строка>, <ЧислоСимволов>) – این تابع با توابع چپ تفاوت دارد زیرا آخرین کاراکترها را از سمت راست رشته انتخاب می کند.

خط خالی(<Строка>) - این تابع رشته را برای وجود کاراکترهای مهم بررسی می کند.

سمبل(<КодСимвола>) - تابع کد کاراکتر را به رشته ای حاوی کاراکتر تبدیل می کند.

AbbrL(<Строка>) - این تابع کاراکترهای ناچیز را در سمت چپ اولین کاراکتر مهم در رشته قطع می کند.

AbbrLP(<Строка>) - این تابع، نویسه‌های غیر معنی‌دار را در سمت چپ اولین نویسه مهم در خط، و فاصله‌ها را در سمت راست آخرین نویسه مهم در خط برش می‌دهد.

مخفف(<Строка>) - این تابع کاراکترهای ناچیز را در سمت راست آخرین کاراکتر مهم در رشته قطع می کند.

چهار شنبه(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - این تابع رشته ای از نویسه ها را انتخاب می کند که با کاراکتر شروع می شود<НачальныйНомер>، تعداد کل<ЧислоСимволов>.

طول (<Строка>) - تابع تعداد کاراکترهای خط را دریافت می کند.

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - این تابع همه رخدادهای زیررشته جستجو را در رشته منبع پیدا می کند و آن را با زیررشته جایگزین جایگزین می کند.

StrGetString(<Строка>, <НомерСтроки>) - تابع یک رشته چندخطی بر اساس عدد دریافت می کند.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) - این تابع تعداد وقوع زیررشته جستجو را در رشته منبع محاسبه می کند.

StrNumberRow(<Строка>) - این تابع تعداد خطوط یک رشته چند خطی را می شمارد. در یک رشته چند خطی، خطوط با خطوط جدید از هم جدا می شوند.

Treg(<Строка>) - تابع رشته را به حروف عنوان تبدیل می کند. این بدان معنی است که اولین کاراکتر هر کلمه به حروف عنوان یا در صورتی که حروف عنوان برای کاراکتر مشخص نشده باشد به حروف بزرگ تبدیل می شود. کاراکترهای باقی مانده به حروف کوچک تبدیل می شوند.

تبدیل نوع
برای تبدیل صریح انواع داده ها، توابعی به همین نام با نوع داده ای که تبدیل به آن انجام می شود وجود دارد: String(<Значение>)

StringFromNumbers = String(Number);

همه این توابع به تفصیل در Syntax Assistant توضیح داده شده است؛ من در مقاله توضیح دادم که چگونه Syntax Assistant می تواند به یک برنامه نویس تازه کار کمک کند.

نمونه هایی برای کار با رشته ها

تبدیل عدد به رشته و برگشت.

برای به دست آوردن نمایش رشته ای از سال، از تابع Format استفاده کنید.

Year = Format(CurrentDate()، "DF=yyyy") // Year = "2012"

برای تبدیل یک عدد به رشته بدون درج کاراکتر جداکننده گروه (فاصله بدون شکست)، باید از تابع Format با پارامتر NG=0 استفاده کنید:

Number = 2012 Line = Format(Number, "NH=0" ); //String = "2012"

رشته بدون فاصله.

نوع String در همه زبان های برنامه نویسی یافت می شود. ابتدایی است و در 1C توابع زیادی برای کار با آن وجود دارد. در این مقاله روش های مختلف کار با انواع رشته ها در 1C 8.3 و 8.2 را با استفاده از مثال ها به تفصیل بررسی خواهیم کرد.

خط

برای تبدیل یک متغیر از هر نوع به رشته، تابعی به همین نام "String()" وجود دارد. پارامتر ورودی خود متغیر خواهد بود که نمایش رشته ای آن باید بدست آید.

رشته (نادرست) // "نه" را برمی گرداند
String(12345) // "12,345" را برمی گرداند
رشته (تاریخ فعلی()) //"07/21/2017 11:55:36"

این امکان وجود دارد که نه تنها انواع اولیه را به یک رشته تبدیل کنید، بلکه سایر موارد، به عنوان مثال، عناصر دایرکتوری ها و اسناد را نیز تبدیل کنید.

SokrLP، SokrL، SokrP

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

مخفف (" فاصله ها از دو طرف حذف خواهند شد ") // "فضاها از دو طرف حذف خواهند شد"
مخفف (" فاصله های دو طرف حذف خواهد شد") // "فضاهای سمت چپ حذف خواهند شد"
مخفف ("فضاهای هر دو طرف حذف خواهند شد") // "فضاهای سمت راست حذف خواهند شد"

لئو، راست، متوسط

این توابع به شما امکان می دهند بخشی از یک رشته را برش دهید. تابع "Left()" بخشی از یک رشته را از سمت چپ آن در طول مشخص شده برمی گرداند. تابع "Right()" مشابه است، اما از سمت راست برش می‌دهد. تابع "Avg()" به شما امکان می دهد تعداد کاراکتری که خط از آن انتخاب می شود و طول آن را مشخص کنید.

Lev("متغیر رشته"، 4) // "Str" را برمی گرداند
Right("String variable", 7) // "variable" را برمی گرداند
Medium("String variable", 2, 5) // "troco" را برمی گرداند

StrLength

تابع تعداد کاراکترهای موجود در یک متغیر رشته را تعیین می کند.

StrLength("Word") // نتیجه اجرا عدد 5 خواهد بود

پیدا کردن

این تابع امکان جستجوی بخشی از یک رشته را در یک متغیر رشته ای فراهم می کند. مقدار برگشتی عددی خواهد بود که موقعیت ابتدای رشته پیدا شده را نشان می دهد. اگر مطابقت پیدا نشد، صفر برگردانده می شود.

لطفا توجه داشته باشید که جستجو به حروف کوچک و بزرگ حساس است. اگر بیش از یک مورد از زیر رشته جستجو در رشته اصلی وجود داشته باشد، تابع شروع اولین وقوع را برمی گرداند.

تابع Find("یک، دو، یک، دو، سه"، "دو") // عدد 6 را برمی گرداند

خط خالی

استفاده از این تابع به شما امکان می دهد تا مشخص کنید که آیا یک رشته خالی است یا خیر. کاراکترهای جزئی مانند فضا، بازگشت کالسکه و موارد دیگر در نظر گرفته نمی شوند.

تابع EmptyString("Pupkin Vasily Ivanovich") // مقدار False را برمی گرداند.
تابع EmptyString(" ") // مقدار True را برمی گرداند

VReg، NReg، Treg

این توابع هنگام مقایسه و تبدیل متغیرهای رشته ای بسیار مفید هستند. "Vreg()" رشته اصلی را با حروف بزرگ، "HPreg()" با حروف کوچک، و "Treg()" آن را طوری قالب بندی می کند که اولین کاراکتر هر کلمه جداگانه بزرگ شود و همه کاراکترهای بعدی بزرگ شوند.

Vreg("مدیر کل") // مقدار بازگشتی - "مدیر کل"
NReg ("مدیرعامل") // مقدار بازگشتی - "مدیر عامل"
TREG ("مدیرعامل") // مقدار بازگشتی - "مدیر کل"

PageReplace

این تابع مشابه جایگزینی در ویرایشگرهای متن است. این به شما امکان می دهد یک کاراکتر یا مجموعه ای از کاراکترها را با دیگری در متغیرهای رشته جایگزین کنید.

StrReplace("قرمز، سفید، زرد"، "،"، ";") // "قرمز; سفید؛ رنگ زرد"

StrNumberLines

این تابع به شما امکان می دهد تعداد خطوطی را که با برگرداندن حامل در یک متغیر متنی جدا شده اند، تعیین کنید.

حلقه در مثال زیر از سه دور عبور می کند زیرا تابع LineNumberRow مقدار 3 را برمی گرداند:

برای ind = 1 توسط StrNumber of strings ("Line1" + Symbols.PS + "Line2" + Symbols.PS + "Line3") چرخه
<тело цикла>
چرخه پایان

StrGetString

این تابع با متن چند خطی به همان روش قبلی کار می کند. این به شما امکان می دهد یک رشته خاص را از یک متغیر متنی دریافت کنید.

StrGetString("String1" + Characters.PS + "String2" + Characters.PS + "String3"، 2) // برگرداندن "String2"

Page NumberOccurrences

تابع تعداد وقوع یک کاراکتر یا زیررشته را در رشته جستجو می شمارد.

تابع StrNumberAttachments("a;b;c;d; ", ";") // عدد 4 را برمی گرداند.

نماد و کد نماد

این توابع به شما امکان می دهد یک کاراکتر را با کد آن در رمزگذاری یونیکد به دست آورید و همچنین این کد را توسط خود کاراکتر تعیین کنید.

تابع SymbolCode("A") // عدد 1040 را برمی گرداند
CharacterCode(1040) // تابع "A" را برمی گرداند

وظایف رایج هنگام کار با رشته ها

رشته های به هم پیوسته

برای ترکیب چند رشته (برای انجام الحاق)، کافی است از عملگر جمع استفاده کنید.

"خط 1" + "خط 2" //نتیجه افزودن دو خط "خط 1 خط 2" خواهد بود.

تبدیل نوع

برای تبدیل یک نوع به رشته، به عنوان مثال، پیوند به یک عنصر دایرکتوری، یک عدد و غیره، کافی است از تابع "String()" استفاده کنید. توابعی مانند ScrLP() نیز متغیرها را به یک رشته تبدیل می‌کند، اما بلافاصله با قطع کردن کاراکترهای ناچیز.

String(1000) // "1000" را برمی گرداند

لطفاً توجه داشته باشید که هنگام تبدیل یک عدد به رشته، برنامه به طور خودکار فاصله ای را اضافه می کند که هزار را از هم جدا می کند. برای جلوگیری از این امر، می توانید از ساختارهای زیر استفاده کنید:

StrReplace(String(1000),Characters.NPP,"") // "1000" را برمی گرداند

String(Format(1000,"HG=")) // "1000" را برمی گرداند

نقل قول در یک رشته

اغلب شما باید با نیاز به تعیین علامت نقل قول در یک متغیر رشته مقابله کنید. این می تواند متن درخواست نوشته شده در پیکربندی یا فقط یک متغیر باشد. برای حل این مشکل، فقط باید دو علامت نقل قول قرار دهید.

Header = String ("Horns and Hooves LLC - این ما هستیم!") // "Horns and Hooves LLC - این ما هستیم!"

چند خط، شکست خط

به منظور ایجاد متن چند خطی، فقط خطوط شکسته (Symbols.PS) را به آن اضافه کنید.

MultilineText = "First Line" + Symbols.PS + "Second Line"

نحوه حذف فضاها

برای حذف فضاهای سمت راست یا چپ، می‌توانید از تابع ScrAP() (و همچنین ScrL() و ScrP()) استفاده کنید:

StringNoSpaces = مخفف ("حروف بسیار") // تابع مقدار "حروف بسیار" را برمی گرداند.

اگر پس از تبدیل یک عدد به رشته، باید فضاهای بدون شکست را حذف کنید، از ساختار زیر استفاده کنید:

StringNoSpaces = StrReplace(String(99999),Characters.NPP,"") // "99999" را برمی گرداند

برنامه نویسان همچنین اغلب از ساختار زیر استفاده می کنند که به شما امکان می دهد تمام فضاهای یک متغیر متنی را حذف یا با کاراکتر دیگری جایگزین کنید:

StringNoSpaces = StrReplace("Hello","") // "Hello" را برمی‌گرداند

مقایسه رشته ها با یکدیگر

می توانید اصطلاحات را با علامت مساوی معمولی مقایسه کنید. مقایسه به حروف کوچک و بزرگ حساس است.

"Hello" = "Hello" // False را برمی‌گرداند
"Hello" = "Hello" // True را برمی گرداند
"Hello" = "Goodbye" // False را برمی گرداند

بهترین مقالات در این زمینه