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

مقادیر متغیرهای نوع خطدر نقل قول های دوگانه محصور شده است. متغیرهای متعددی از این نوع می توانند بسته شوند.

per1 \u003d "کلمه 1"؛
per2 \u003d "کلمه 2"؛
PER3 \u003d PER1 + "" + PER2؛

در نهایت PER3 مهم خواهد بود کلمه 1 کلمه 2 ".

علاوه بر این، در سیستم های 1C: Enterprise 8 توابع را برای کار با خطوط فراهم می کند. اصلی را در نظر بگیرید:

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

رشته را می توان وارد کرد و دانستن کد نماد در Encoding Enicode:

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

نامه \u003d نماد (1103)؛ // من

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

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

توابع تبدیل ثبت نام متن:

vrega (<Строка>) - تبدیل تمام کاراکترهای رشته به ثبت نام بالا.

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

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

جستجو و جایگزینی شخصیت ها در رشته:

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

پیدا کردن ("رشته"، "oka")؛ // چهار

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

شماره 4 ورود \u003d استریت ( "مرگ"، "O"، جهت. اول، 1، 4)؛ // 7

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

Strust ("رشته"، "oka"، "")؛ // صفحه

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

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

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

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

استررب ( "پارامتر 1 \u003d٪ 1، پارامتر 2 \u003d٪ 2", "1" , "2" ) ; // پارامتر 1 \u003d 1، پارامتر 2 \u003d 2

توابع تبدیل ردیف:

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

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

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

sokrel (<Строка>) از شخصیت های ناچیز به سمت چپ اولین نماد معنی در ردیف خارج می شود.

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

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

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

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

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

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

stresh (<Строка1>, <Строка2> ) - مقایسه دو خط بدون ثبت نام. تابع به طور مشابه به شیء کار می کند مقایسه. بازگشت:

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

اعتصاب ("ردیف اول"، "رشته دوم")؛ // یکی

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

رشته اضافی

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

انتخاب "نام:" + counterparties. ارتقاء به عنوان column1 از دایرکتوری. مخروط ها به عنوان contrgenties که در آن counterparties. link \u003d & link

تابع زیرزمینی

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

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

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

توجه! با استفاده از تابع substring () به منظور قرار دادن رشته های یک طول نامحدود به رشته های طول محدود توصیه نمی شود. به جای آن، بهتر است از عملیات آوردن نوع به بیان () استفاده کنید.

عملکرد مانند

اگر شما باید اطمینان حاصل کنید که پروکسی رشته مربوط به معیارهای خاصی است که ما آن را مقایسه می کنیم:

counterparties را انتخاب کنید انتصاب به عنوان یک ستون 1 از کتاب مرجع. متضاد به عنوان متابولیسم که در آن counterparties. نام \u003d گازپروم

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

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

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

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

  • ٪ (درصد): توالی حاوی هر تعداد شخصیت های دلخواه؛
  • _ (underscore): یک نماد دلخواه؛
  • [...] (در براکت های مربع یک یا چند کاراکتر): هر شخصیت واحد از ذکر شده در داخل مربع مربع. لیست ها ممکن است محدوده ها رخ دهند، به عنوان مثال A-Z، به این معنی نماد دلخواه موجود در محدوده، از جمله انتهای محدوده؛
  • [^ ...] (در براکت های مربع، آیکون انکار به دنبال یک یا چند کاراکتر): هر شخصیت تک، به جز موارد ذکر شده در نماد نفی.

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

یادداشت های Caster Caster

08/18/2014 توابع کار جدید با ردیف

اجرا شده در نسخه 8.3.6.1977.

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

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

تابع قالب بندی ستاره دار ()

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

استررب (<Шаблон>, <Значение1-Значение10>)

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

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

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

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

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

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

عملکرد کار با رشته رشته ها ()

این ویژگی دو خط بدون ثبت نام را مقایسه می کند. به عنوان مثال، بنابراین:

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

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

توابع کار با ردیف ها مسیریابی ()، Stronckant ()

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

به عنوان مثال، راحت است که آنها را در اپراتور استفاده کنید اگر یک:

توابع کار با رشته ها به خط ()، پلاگین ()

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

تابع کار با رشته Stret ()

به جای یک تابع قدیمی برای پیدا کردن () ما یک ویژگی جدید را اجرا کرده ایم که دارای ویژگی های اضافی است:

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

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

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

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

مثال 1. یک متغیر رشته را با متن ایجاد کنید.

row-free \u003d "سلام جهان!"؛

توابع کار با خطوط در 1C 8.3

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

استروتینا

strdlin (<Строка>) . تعداد کاراکترهای موجود در رشته ارسال شده در پارامتر را باز می گرداند.

مثال 2. محاسبه تعداد کاراکترها در رشته "Hello World!".

ردیف \u003d "سلام جهان!"؛ martensumless \u003d stondin (رشته)؛ گزارش (احضار)؛

نتیجه اجرای این کد تعداد کاراکترهای رشته را نمایش می دهد: 11.

ساکریل

sokrel (<Строка>) . از شخصیت های ناچیز به سمت چپ اولین نماد معنی در ردیف خارج می شود.
نمادهای بی قاعده:

  • فضا؛
  • فضای غیر معاف؛
  • جدول بندی؛
  • واگن برقی؛
  • ترجمه خط؛
  • ترجمه فرم (صفحات).

مثال 3. تمام فضاها را در سمت چپ خط "جهان" حذف کنید! و پیوستن به آن خط "سلام".

line \u003d sokrel ("صلح!")؛ ردیف \u003d "سلام" + خط؛ گزارش (رشته)؛

نتیجه اجرای این کد خروجی به صفحه نمایش "سلام Mir!" خواهد بود.

socrp

copp (<Строка>) . از شخصیت های ناچیز به سمت راست اولین نماد معنی در ردیف خارج می شود.

مثال 4. فرم از ردیف "سلام" و "صلح!" عبارت "سلام جهان!"

ردیف \u003d Cropp ("سلام") + "" + Sokrel ("صلح!")؛ گزارش (رشته)؛

sokrlp

sokrlp (<Строка>) . از شخصیت های ناچیز به سمت راست نماد معنی اول در ردیف خارج می شود، همچنین از شخصیت های ناچیز به سمت چپ اولین شخصیت معنی دار در ردیف خارج می شود. این تابع اغلب از دو سال گذشته استفاده می شود، زیرا بیشتر متنوع است.

مثال 5. حذف شخصیت های ناچیز ایستاده در سمت چپ و راست به نام طرف مقابل.

counterparty \u003d منابع. Proteces. Enti-Moving ("Inn"، "0777121211")؛ counterparty \u003d counterparty object /)؛ Counterparty نام \u003d Coolp (Counterparty نام)؛ Counterparty برای استخدام ()؛

یک شیر

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

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

داده های اولیه \u003d شیر (کارمند. منظور من، 1)؛ ابتدایی \u003d شیر (کارمند. ضعف، 1)؛ fulfill \u003d emplancee.familia + "" + اولیه و ".". " + initiality + "."؛

درست

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

مثال 7. اجازه دهید تاریخ در قالب "GGHHMDD" در انتهای متغیر رشته ثبت شود تا یک خط با تاریخ دریافت کنید و آن را به نوع تبدیل کنید تاریخ.

line \u003d "تاریخ فعلی: 20170910"؛ strfedate \u003d حقوق (رشته، 8)؛ تاریخ \u003d تاریخ (Strfewar)؛

رسانه ها

محیط ها (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Substring از ردیف منتقل شده در پارامتر می شود خطبا شروع تعداد کاراکتر که در پارامتر مشخص شده است استارت آپ و طول انتقال به پارامتر اسلواقیشماره کاراکتر در رشته شروع می شود 1. اگر در پارامتر باشد استارت آپ مقدار کمتر یا برابر صفر است، پارامتر مقدار را می گیرد 1. اگر پارامتر باشد nizalsimvol مشخص نشده است، سپس نمادها تا پایان خط انتخاب می شوند.

مثال 8. فرض کنید که در متغیر رشته، شروع از موقعیت نهم شامل کد منطقه، شما باید آن را دریافت کنید و آن را به یک رشته جداگانه بنویسید.

line \u003d "منطقه: 99 مسکو"؛ منطقه \u003d رسانه (رشته، 9، 2)؛

استنتت

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

  • خط. خط منبع؛
  • زیرزمین. بستر مورد نظر؛
  • جهت. جهت جستجوی Substring را در ردیف مشخص می کند. می تواند ارزش ها را انجام دهد:
    • جهت;
    • جهت;
  • رکود. موقعیت را در رشته ای که از آن جستجو آغاز می شود را مشخص می کند؛
  • بازخورد. نشان می دهد تعداد ورودی بستر مورد نظر در خط منبع.

مثال 9. در خط "سلام جهان!" تعیین موقعیت آخرین ورود نماد "و".

DRIZE \u003d STRNET ("سلام MIR!"، "و"، جهت از .sconsion)؛ گزارش (فیدر)؛

نتیجه اجرای این کد خروجی به تعداد صفحه نمایش آخرین ورود نماد "و": 9.

سبک

vrega (<Строка>) . تمام کاراکترهای رشته مشخص شده را در 1C 8 به ثبت نام بالا تبدیل می کند.

مثال 10. تغییر خط "سلام Mir!" به ثبت نام بالا

rangered \u003d تاخیر ("سلام جهان!")؛ گزارش (قایقرانی)؛

نتیجه اجرای این کد به صفحه نمایش خط "سلام سلام!"

نروژی

nrega (<Строка>) . تمام کاراکترهای رشته مشخص شده را در 1C 8 به ثبت نام پایین تر تبدیل می کند.

مثال 11. تبدیل یک رشته "سلام Mir!" برای پایین آوردن ثبت نام

strochanneg \u003d nreg ("سلام Pee!")؛ گزارش (قایقرانی)؛

نتیجه اجرای این کد به صفحه نمایش خط "سلام جهان!"

تور

trega (<Строка>) . تبدیل یک رشته به شرح زیر است: اولین نماد هر کلمه به حروف بزرگ ترجمه شده است، کلمات باقی مانده از کلمه به ثبت نام پایین تر ترجمه می شود.

مثال 12. سر از حروف اول کلمات را در خط "سلام جهان!".

stinkateg \u003d treg ("سلام سلام!")؛ گزارش (Stinkategents)؛

نتیجه اجرای این کد به صفحه نمایش خط "سلام جهان!"

سمبل

سمبل(<КодСимвола>) . نماد در کد خود را در کدگذاری Unicod می شود.

مثال 13. اضافه کردن به سمت چپ و راست به خط "سلام جهان!" نماد ★

رشته های رشته \u003d نماد ("9733") + "سلام جهان!" + نماد ("9733")؛ گزارش (عبارات رشته)؛

نتیجه اجرای این کد بر روی صفحه نمایش رشته نمایش داده می شود "★ سلام صلح! ★"

KODSIMVOL

CodeImvol (<Строка>, <НомерСимвола>) . کد نماد را در unicode کدگذاری می کند که از یک رشته مشخص شده در اولین پارامتر واقع در موقعیت مشخص شده در پارامتر دوم مشخص شده است.

مثال 14. پیدا کردن کد آخرین نماد در "HI WORLD!" خط.

ردیف \u003d "سلام جهان!"؛ CodeImvol \u003d CodeImvol (رشته، Stringle (رشته))؛ گزارش (CODEIMVOL)؛

نتیجه اجرای این کد به کد نماد خروجی خواهد رسید "!" - 33

خط خالی

خط خالی (<Строка>) . چک کنید که آیا رشته تنها از شخصیت های ناچیز است، یعنی آن، این است که آیا خالی است.

مثال 15. بررسی کنید که آیا رشته خالی شامل سه فاصله است.

خالی \u003d جهش یافته ("")؛ گزارش (خالی)؛

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

شلاق زدن

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

مثال 16. در خط "سلام جهان!" کلمه "جهان" را در کلمه "دوستان" جایگزین کنید.

ROW \u003d STRUST ("سلام MIR!"، "MIR"، "دوستان")؛ گزارش (رشته)؛

نتیجه اجرای این کد به صفحه نمایش "HI Friends!"

استوانه

Strokelost (<Строка>) . به شما امکان می دهد تعداد ردیف ها را در یک رشته چند خط محاسبه کنید. برای رفتن به یک رشته جدید در 1C 8، یک نماد استفاده می شود. ps (نماد ترجمه رشته).

مثال 17. تعداد ردیف ها را در متن تعیین کنید:
"خط اول
رشته دوم
خط سوم »

شماره \u003d سبد STROVER ("ردیف اول" + نمادها. PC + "خط دوم" + کاراکترها. کامپیوتر + "رشته سوم")؛ شماره گزارش)؛

نتیجه اجرای این کد به تعداد ردیف ها در متن خروجی خواهد رسید: 3

پلاگین

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

مثال 18. آخرین رشته را در متن دریافت کنید:
"خط اول
رشته دوم
خط سوم »

text \u003d "خط اول خط" + کاراکترهای PC + "خط دوم" + کاراکترها. FS + "ردیف سوم"؛ LastastRight \u003d PlisProktriktka (متن، Strokelock (متن))؛ گزارش (آخرین بار)؛

نتیجه اجرای این کد به صفحه خط "ردیف سوم" منجر خواهد شد.

چرخنده

stirling (<Строка>, <ПодстрокаПоиска>) . تعداد ورودی های زیر رشته مشخص شده را در رشته باز می گرداند. این تابع به ثبت نام حساس است.

مثال 19. تعیین چند بار آن را وارد رشته در 1C 8.3 و 8.2. نامه "C"، صرف نظر از ثبت نام آن.

ROW \u003d "ردیف ها در 1C 8.3 و 8.2"؛ اعداد \u003d برچسب (تاخیر (رشته)، "C")؛ گزارش (اعداد)؛

نتیجه اجرای این کد، تعداد ورودی ها را تولید می کند: 2.

برنامه ریزی شده

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

مثال 20. تعیین اینکه آیا Inn of CounterPart انتخاب شده با شماره 1. شروع به متغیر است طرفدار متقلب.

Inn \u003d counterparty.inn؛ با هم شروع می شود \u003d rrinced (مسافرت، "1")؛ اگر آن را در آن زمان شروع می شود // به پایان رسید؛

strazanacivna

strashing (<Строка>, <СтрокаПоиска>) . بررسی کنید که آیا رشته در پارامتر اول به پایان رسید، در خط در پارامتر دوم.

مثال 21. تعیین اینکه آیا مسافرتی از همتای انتخاب شده به شکل 2 به پایان می رسد 2. بگذارید در متغیر طرفدارلینک ذخیره شده به عنصر دایرکتوری متقلب.

Inn \u003d counterparty.inn؛ سوپاپ های متوقف شده \u003d Strasting (Inn، "2")؛ اگر شما آن را تمام کنید // کد خود را به پایان رسید؛

بند

نژاد<Строка>, <Разделитель>, <ВключатьПустые>) . رشته را بر اساس علامت های جدا کننده مشخص شده و رشته های حاصل را به یک آرایه متصل می کند. در پارامتر اول، خط منبع ذخیره می شود، در خط دوم حاوی جداکننده، در سوم نشان داده شده است که آیا برای ضبط خطوط خالی به آرایه (به طور پیش فرض درست است، واقعی).

مثال 22. اجازه دهید یک رشته حاوی اعداد جدا شده توسط نماد "؛" داشته باشیم، آرایه ای از اعداد از رشته را دریافت کنیم.

ردیف \u003d "1؛ 2؛ 3"؛ آرایه \u003d بند (رشته، "؛")؛ برای sch \u003d 0 توسط یک آرایه. شماره () - 1 array تلاش چرخه [SCH] \u003d شماره (CROLP (آرایه [sch]))؛ Array Exception [SCH] \u003d 0؛ Endropset EndRequency؛

به عنوان یک نتیجه از اجرای، یک آرایه با شماره 1 تا 3 به دست می آید.

سکته

استررن<Строки>, <Разделитель>) . آرایه ای از ردیف ها را از اولین پارامتر به رشته حاوی تمام عناصر آرایه از طریق جدا کننده مشخص شده در پارامتر دوم تبدیل می کند.

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

برای sch \u003d 0 توسط یک آرایه. شماره () - 1 آرایه چرخه [SCH] \u003d رشته (آرایه [SCH])؛ Endcycle؛ خط \u003d سکته مغزی (آرایه، "؛")؛

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

خط

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

ردیف (نادرست) // بازگشت "نه"
ردیف (12345) // بازگشت "12 345"
ردیف (currentdata ()) // 2.5.07.2017 11:55:36 "

تبدیل به خط نه تنها برای انواع اولیه، بلکه بقیه، مانند عناصر کتاب های مرجع، اسناد امکان پذیر است.

SOKRLP، SOKREL، CROPP

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

SOKRLP ("فضاهای هر دو طرف حذف می شوند") // "فضاهای در هر دو طرف حذف خواهند شد"
Sokrel ("فضاها در هر دو طرف حذف می شوند") // "فضاهای چپ" حذف خواهند شد "
SOCRP ("فضاهای در هر دو طرف") // فضاهای سمت راست حذف خواهد شد "

شیر، حقوق، رسانه ها

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

شیر ("متغیر رشته"، 4) // بازگشت "کاه"
حقوق ("متغیر نرده"، 7) // بازگشت "eramet"
رسانه ("متغیر رشته"، 2، 5) // بازگشت "Troko"

استروتینا

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

Streglin ("کلمه") // نتیجه خواهد شد شماره 5

برای پیدا کردن

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

لطفا توجه داشته باشید که جستجو با توجه به ثبت نام انجام شده است. اگر در خط اولیه بیش از یک ورودی از Substring جستجو وجود داشته باشد، تابع آغاز اولین ورود را باز می کند.

پیدا کردن ("یک بار، دو بار، دو، سه"، "دو") // تابع شماره 6 را باز می کند

خط خالی

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

"Pupky Vasily Ivanovich") // تابع ارزش نادرست را بازگرداند
Pastastroroca ("") // تابع ارزش حقیقت را بازگرداند

نور، Nreg، Treg

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

Vrega ("مدیر کل") // اهمیت بازگشت - "مدیر کل"
Nrega ("مدیر کل") // اهمیت بازگشت - "مدیرعامل"
Trega ("مدیر کل") // بازگشت ارزش - "مدیر کل"

شلاق زدن

این ویژگی یک آنالوگ از جایگزینی در ویراستاران متن است. این اجازه می دهد تا شما را به جای یک شخصیت یا مجموعه ای از شخصیت ها به دیگر متغیرهای رشته.

Strust ("قرمز، سفید، زرد"، "،"، "؛") // بازگشت "قرمز؛ سفید؛ رنگ زرد"

استوانه

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

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

برای ind \u003d 1 از طریق Strokelock ("String1" + کاراکترها. PC + "String2" + کاراکترها. PC + "String3") چرخه
<тело цикла>
Endcycle؛

پلاگین

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

پلاگین را از طریق ("String1" + کاراکترها. PC + "String2" + کاراکترها. PS + "String3"، 2) // بازگشت "string2"

چرخنده

این تابع مقدار علامت ورودی یا Substring را در رشته مورد نظر شمارش می کند.

ایستگاه های ثابت ("a؛ b؛ in؛ g؛"، "؛") // تابع شماره 4 را باز می گرداند

نماد و CodeImvol

این توابع به شما اجازه می دهد یک نماد را در کد خود در کدگذاری یونیکد دریافت کنید، و همچنین این کد را بر روی نماد خود تعریف کنید.

چاقو ("A") // تابع شماره 1 040 را باز می کند
KODSIMVOL (1040) // تابع "A"

وظایف مکرر هنگام کار با ردیف

ترکیب رشته

برای ترکیب چندین خط (concatenate) کافی است که از اپراتور اضافی استفاده کنید.

"خط 1" + "خط 2" // نتیجه دو خط تاشو "رشته 1 خط 2" خواهد بود

تبدیل نوع

به منظور تبدیل نوع به یک رشته، به عنوان مثال، یک اشاره به عنصر دایرکتوری، شماره و غیره، به اندازه کافی برای استفاده از عملکرد "ردیف ()" کافی است. توابع مشابه "Coplp ()" نیز متغیرها را به رشته تبدیل می کنند، اما بلافاصله با برش کاراکترهای ناچیز.

ردیف (1000) // بازگشت "1000"

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

Strust (خط (1000)، نمادها. NPP، "") // بازگشت "1000"

ردیف (فرمت (1000، "cg \u003d")) // بازگشت "1000"

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

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

title \u003d ردیف ("LLC" "شاخ" "" - این ما! ") // حفظ" ROG و Hortal LLC "- این ما!"

چند خط، انتقال ردیف

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

multi-linecext \u003d "خط اول" + نمادها. FS + "رشته دوم"

چگونه برای حذف شکاف

به منظور حذف شکاف در سمت راست یا در سمت چپ، می توانید از تابع "Coplp ()" (و همچنین "Sokrel ()" و "Cropp ()") استفاده کنید:

rangebesproelov \u003d coolp ("بسیاری از حروف") // تابع ارزش "بسیاری از نامه ها"

اگر پس از تبدیل شماره در رشته، شما نیاز به حذف فضاهای جداگانه، از طراحی زیر استفاده کنید:

StringBebones \u003d Strust (رشته (99999)، نمادها. NPP، "") // حفظ "99999"

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

Belts Stringbezf \u003d Strust ("PR و V E T"، ""، "") // حفظ "سلام"

مقایسه رشته ها در میان خود

شما می توانید مهلت های مربوط به علامت معمولی برابری را مقایسه کنید. در مقایسه، ثبت نام در نظر گرفته شده است.

"سلام" \u003d "سلام" // دروغ بازگشت
"سلام" \u003d "سلام" // بازگشت حقیقت
"سلام" \u003d "Goodbye" // دروغ بازگشت