Satrlar bilan ishlash uchun yangi funksiyalar. Satrlar bilan ishlash uchun yangi funksiyalar 1s 8.2 satrdagi belgining seriya raqami

String turi barcha dasturlash tillarida uchraydi. Bu ibtidoiy va 1C da u bilan ishlash uchun juda ko'p funktsiyalar mavjud. Ushbu maqolada biz misollar yordamida 1C 8.3 va 8.2 da string turlari bilan ishlashning turli usullarini batafsil ko'rib chiqamiz.

Chiziq

Har qanday turdagi o'zgaruvchini satrga aylantirish uchun xuddi shu nomdagi “String()” funksiyasi mavjud. Kirish parametri o'zgaruvchining o'zi bo'ladi, uning satr tasvirini olish kerak.

String(False) // "Yo'q"ni qaytaradi
String (12345) // "12,345" ni qaytaradi
String(CurrentDate()) //"21.07.2017 11:55:36"

Satrga faqat ibtidoiy turlarni emas, balki boshqalarni, masalan, katalog va hujjatlar elementlarini ham aylantirish mumkin.

SokrLP, SokrL, SokrP

Ushbu funksiyalarning kirish parametrlari qator tipidagi o'zgaruvchidir. Funktsiyalar ahamiyatsiz belgilarni (bo'shliqlar, karetaning qaytishi va boshqalar) olib tashlaydi: chap va o'ng tomondan, faqat chap tomondan va faqat o'ngdan.

Qisqartma(" ​​Bo'shliqlar ikkala tomondan ham o'chiriladi ") // "Ikki tomondan bo'shliqlar o'chiriladi"
Qisqartma("Ikkala tomondagi bo'shliqlar o'chiriladi") // "Chapdagi bo'shliqlar o'chiriladi"
Qisqartma("Ikkala tomondagi bo'shliqlar o'chiriladi") // "O'ngdagi bo'shliqlar o'chiriladi"

Arslon, o'ng, o'rta

Bu funksiyalar qatorning bir qismini kesish imkonini beradi. "Left()" funktsiyasi satrning belgilangan uzunlikdagi chap tomonidagi qismini qaytaradi. "O'ng ()" funktsiyasi o'xshash, lekin o'ngdan kesiladi. “Ovg()” funksiyasi qator tanlanadigan belgi sonini va uning uzunligini belgilash imkonini beradi.

Lev("String o'zgaruvchisi", 4) // "Str" ni qaytaradi
Right("String o'zgaruvchisi", 7) // "o'zgaruvchi"ni qaytaradi
Medium("String o'zgaruvchisi", 2, 5) // "troko" ni qaytaradi

StrLength

Funktsiya satr o'zgaruvchisi tarkibidagi belgilar sonini aniqlaydi.

StrLength("Word") // bajarilish natijasi 5 raqami bo'ladi

Toping

Funktsiya satr o'zgaruvchisida satrning bir qismini qidirish imkonini beradi. Qaytish qiymati topilgan satr boshining o'rnini ko'rsatadigan raqam bo'ladi. Agar moslik topilmasa, nol qaytariladi.

E'tibor bering, qidiruv katta-kichik harflarga sezgir. Agar asl satrda qidiruv satrining bir nechta takrorlanishi bo'lsa, funktsiya birinchi takrorlanishning boshlanishini qaytaradi.

Find("bir, ikki, bir, ikki, uch", "ikki") // funksiyasi 6 raqamini qaytaradi

Bo'sh qator

Ushbu funktsiyadan foydalanish satrning bo'sh yoki yo'qligini aniqlash imkonini beradi. Bo'sh joy, karetaning qaytishi va boshqalar kabi kichik belgilar hisobga olinmaydi.

EmptyString("Qovoq Vasiliy Ivanovich") // funksiya False qiymatini qaytaradi
EmptyString(" ") // funktsiyasi True qiymatini qaytaradi

VReg, NReg, TReg

Bu funksiyalar qator o‘zgaruvchilarni solishtirish va konvertatsiya qilishda juda foydali. "Vreg()" asl satrni katta harf bilan, "HPreg()" kichik harfda va "TReg()" uni har bir alohida so'zning birinchi belgisi va keyingi barcha belgilar bosh harf bilan yozilishi uchun formatlaydi.

VReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "GENERAL DIRECTOR"
NReg("CEO DIRECTOR") // Qaytish qiymati - "CEO"
TREG("Bosh DIREKTOR") // Qaytish qiymati - "Bosh direktor"

Sahifani almashtiring

Bu funksiya matn muharrirlarida almashtirishga o'xshaydi. U qator oʻzgaruvchilarda bir belgi yoki belgilar toʻplamini boshqasiga almashtirish imkonini beradi.

StrReplace("qizil, oq, sariq", ","", ";") // "qizil"ni qaytaradi; oq; sariq"

StrNumberLines

Funktsiya matn o'zgaruvchisida karetaning qaytishi bilan ajratilgan qatorlar sonini aniqlash imkonini beradi.

Quyidagi misoldagi tsikl uchta turdan o'tadi, chunki LineNumberRow funktsiyasi 3 qiymatini qaytaradi:

Ind = 1 uchun StrNumber of Str ("Line1" + Symbols.PS + "Line2" + Symbols.PS + "Line3") sikl
<тело цикла>
EndCycle;

StrGetString

Bu funksiya ko'p satrli matn bilan avvalgisi kabi ishlaydi. Bu sizga matn o'zgaruvchisidan ma'lum bir qatorni olish imkonini beradi.

StrGetString("String1" + Belgilar.PS + "String2" + Belgilar.PS + "String3", 2) // "String2" ni qaytaring

Sahifa raqamlari

Funktsiya qidiruv satrida belgi yoki pastki qatorning takrorlanish sonini hisoblaydi.

StrNumberAttachments("a;b;c;d; ", ";") // funksiya 4 raqamini qaytaradi

Ramz va ramz kodi

Ushbu funktsiyalar Unicode kodlashda uning kodi bo'yicha belgini olish, shuningdek, ushbu kodni belgining o'zi bilan aniqlash imkonini beradi.

SymbolCode("A") // funksiya 1040 raqamini qaytaradi
CharacterCode (1040) // funksiya "A" ni qaytaradi

Satrlar bilan ishlashda umumiy vazifalar

Birlashtiruvchi satrlar

Bir nechta satrlarni birlashtirish uchun (birlashtirishni amalga oshirish uchun) qo'shish operatoridan foydalanish kifoya.

“1-qator” + “2-qator” //ikki qator qo‘shish natijasi “1-qator 2-qator” bo‘ladi.

Konvertatsiya turi

Turni satrga, masalan, katalog elementiga havola, raqam va hokazolarga aylantirish uchun “String()” funksiyasidan foydalanish kifoya. "ScrLP()" kabi funksiyalar ham o'zgaruvchilarni satrga aylantiradi, lekin darhol ahamiyatsiz belgilarni kesib tashlaydi.

String(1000) // "1000"ni qaytaradi

E'tibor bering, raqamni satrga o'zgartirganda, dastur avtomatik ravishda mingni ajratib turadigan bo'sh joy qo'shadi. Bunga yo'l qo'ymaslik uchun siz quyidagi konstruktsiyalardan foydalanishingiz mumkin:

StrReplace(String(1000),Characters.NPP,"") // "1000"ni qaytaradi

String(Format(1000,"HG=")) // "1000"ni qaytaradi

Satrdagi iqtiboslar

Ko'pincha siz satr o'zgaruvchisida tirnoq belgilarini belgilash zarurati bilan shug'ullanishingiz kerak bo'ladi. Bu konfiguratorda yozilgan so'rov matni yoki shunchaki o'zgaruvchi bo'lishi mumkin. Ushbu muammoni hal qilish uchun siz ikkita tirnoq belgisini qo'yishingiz kerak.

Sarlavha = String("Horns and Hooves LLC - bu bizmiz!") // "Horns and Hooves MChJ - bu bizmiz!"

Ko'p qatorli, qatorli uzilish

Ko'p qatorli matn yaratish uchun unga satrlarni (Symbols.PS) qo'shish kifoya.

MultilineText = "Birinchi qator" + Symbols.PS + "Ikkinchi qator"

Bo'shliqlarni qanday olib tashlash mumkin

O'ng yoki chapdagi bo'sh joylarni olib tashlash uchun siz "ScrAP()" funksiyasidan (shuningdek, "ScrL()" va "ScrP()") foydalanishingiz mumkin:

StringNoSpaces = Qisqartma(" ​​Ko'p harf ") // funktsiya "Ko'p harf" qiymatini qaytaradi

Agar raqamni satrga aylantirgandan so'ng, siz uzilmaydigan bo'shliqlarni olib tashlashingiz kerak bo'lsa, quyidagi konstruktsiyadan foydalaning:

StringNoSpaces = StrReplace(String(99999),Characters.NPP,"") // "99999"ni qaytaradi

Dasturchilar ko'pincha matn o'zgaruvchisidagi barcha bo'shliqlarni olib tashlash yoki boshqa belgi bilan almashtirish imkonini beruvchi quyidagi konstruktsiyadan foydalanadilar:

StringNoSpaces = StrReplace("salom","") // "salom"ni qaytaradi

Iplarni bir-biri bilan solishtirish

Siz atamalarni odatdagi tenglik belgisi bilan solishtirishingiz mumkin. Taqqoslash katta-kichik harflarga sezgir.

"Salom" = "salom" // False ni qaytaradi
"Salom" = "Salom" // "To'g'ri" ni qaytaradi
"Salom" = "Alvido" // False qiymatini qaytaradi

Satr 1C:Enterprise 8 tizimidagi ibtidoiy ma'lumotlar turlaridan biridir.Tiri bilan o'zgaruvchilar chiziq matnni o'z ichiga oladi.

O'zgaruvchan qiymatlarni yozing chiziq qo'sh tirnoq ichiga olinadi. Ushbu turdagi bir nechta o'zgaruvchilar qo'shilishi mumkin.

Per1 = "1-so'z" ;
Per2 = "Word 2" ;
Per3 = Per1 + "" + Per2;

Natijada Per3 degani bo'ladi 1-so'z 2-so'z.

Bundan tashqari, 1C: Enterprise 8 tizimlari satrlar bilan ishlash funktsiyalarini ta'minlaydi. Keling, asosiylarini ko'rib chiqaylik:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funktsiya foydalanuvchi turidagi o'zgaruvchining qiymatini belgilashi mumkin bo'lgan dialog oynasini ko'rsatish uchun mo'ljallangan Chiziq. Parametr <Строка> talab qilinadi va kiritilgan satr yoziladigan o'zgaruvchining nomini o'z ichiga oladi. Parametr <Подсказка> ixtiyoriy - bu dialog oynasining sarlavhasi. Parametr <Длина> ixtiyoriy, kiritish satrining maksimal uzunligini ko'rsatadi. Standart nolga teng, ya'ni cheksiz uzunlik. Parametr <Многострочность> ixtiyoriy. Ko‘p qatorli matn kiritish rejimini belgilaydi: True — qator ajratgichlar bilan ko‘p qatorli matn kiritish; False - oddiy qatorni kiriting.

Unicode-dagi belgilar kodini bilsangiz, qatorni kiritishingiz mumkin:

Belgi(<КодСимвола>) — kod raqam sifatida kiritiladi.

Harf= Belgi(1103); // I

Belgining kodini topishga imkon beruvchi teskari funksiya ham mavjud.

SymbolCode(<Строка>, <НомерСимвола>) — belgilangan belgining Unicode raqamini raqam sifatida qaytaradi.

Matn registrini o'zgartirish funktsiyalari:

VReg(<Строка>) — Satrdagi barcha belgilarni bosh harfga o‘zgartiradi.

NReg(<Строка>) — Satrdagi barcha belgilarni kichik harflarga o‘zgartiradi.

TReg(<Строка>) — satrdagi barcha belgilarni sarlavha registriga aylantiradi. Ya'ni, barcha so'zlardagi birinchi harflar bosh harfga, qolgan harflar esa kichik harfga aylantiriladi.

Satrdagi belgilarni qidirish va almashtirish funktsiyalari:

toping(<Строка>, <ПодстрокаПоиска>) — qidiruv satrining paydo bo'lishining belgi raqamini topadi. Masalan:

Toping ("String" , "oka" ); // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — qidiruv pastki satrining paydo bo'lishining belgi raqamini topadi, hodisa raqami mos keladigan parametrda ko'rsatiladi. Bunday holda, qidiruv parametrda raqami ko'rsatilgan belgidan boshlanadi Boshlang'ich pozitsiyasi. Qidiruv satrning boshidan yoki oxiridan mumkin. Masalan:

4-raqamli hodisalar = Str Find ( "Himoyaviylik", "haqida", Qidiruv yoʻnalishi. Boshidan, 1, 4); // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – qidiruv satrining barcha koʻrinishlarini manba satrida topadi va uni oʻzgartirish pastki qatori bilan almashtiradi.

StrReplace ("String", "oka", "" ); // sahifa

Bo'sh qator (<Строка>) – satrda muhim belgilar mavjudligini tekshiradi. Agar muhim belgilar bo'lmasa yoki umuman belgilar bo'lmasa, qiymat qaytariladi To'g'ri. Aks holda - Yolg'on.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – Manba satrida qidiruv pastki qatorining takrorlanish sonini hisoblaydi.

StrNumberOccurrences ( "O'qing, o'qing va yana o'qing", "o'rganish", "" ); // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — parametrlarni qatorga raqam bilan almashtiradi. Satrda quyidagi shakldagi almashtirish belgilari bo'lishi kerak: “% 1..% N”. Marker raqamlash 1 dan boshlanadi. Agar parametr qiymati Aniqlanmagan, bo'sh satr almashtiriladi.

StrTemplate ( "1-parametr = %1, 2-parametr = %2", "1" , "2" ) ; // Parametr 1= 1, Parametr 2 = 2

String konvertatsiya funktsiyalari:

sher (<Строка>, <ЧислоСимволов>) – satrning birinchi belgilarini qaytaradi.

To'g'ri(<Строка>, <ЧислоСимволов>) – satrning oxirgi belgilarini qaytaradi.

chorshanba(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – uzunlikdagi qatorni qaytaradi<ЧислоСимволов>, belgisidan boshlab<НачальныйНомер>.

AbbrL(<Строка>) satrdagi birinchi muhim belgining chap tomonidagi ahamiyatsiz belgilarni kesadi.

Qisqartma(<Строка>) — qatordagi oxirgi muhim belgining oʻng tomonidagi ahamiyatsiz belgilarni kesib tashlaydi.

AbbrLP(<Строка>) – qatordagi birinchi muhim belgining chap tomonidagi va oxirgi muhim belgining o‘ng tomonidagi ahamiyatsiz belgilarni kesib tashlaydi.

StrGetString(<Строка>, <НомерСтроки>) – Raqam bo‘yicha ko‘p qatorli qatorni oladi.

Boshqa xususiyatlar:

StrLength(<Строка>) – satrdagi belgilar sonini qaytaradi.

StrNumberRow(<Строка>) – ko‘p qatorli qatordagi qatorlar sonini qaytaradi. Agar satr avvalgisidan yangi satr belgisi bilan ajratilsa, yangi hisoblanadi.

StrCompare(<Строка1>, <Строка2> ) – ikki qatorni katta-kichik harflarni sezmaydigan tarzda solishtiradi. Funktsiya ob'ektga o'xshash ishlaydi Qadriyatlarni solishtirish. Qaytaradi:

  • 1 - agar birinchi qator ikkinchisidan katta bo'lsa
  • -1 - agar ikkinchi qator birinchisidan katta bo'lsa
  • 0 - agar satrlar teng bo'lsa

StrCompare("Birinchi qator" , "Ikkinchi qator" ); // 1

Ko'zoynak orqali eslatmalar

08/18/2014 Satrlar bilan ishlash uchun yangi funksiyalar

8.3.6.1977 versiyasida amalga oshirilgan.

Biz satrlar bilan ishlash uchun mo'ljallangan funktsiyalar to'plamini kengaytirdik. Biz buni sizga string ma'lumotlarini tahlil qilish uchun yanada ilg'or vositalarni taqdim etish uchun qildik. Yangi funksiyalar matn tahlilining texnologik vazifalarida qulay va foydali bo‘ladi. Formatlangan shakldagi ma'lumotlarni o'z ichiga olgan matnni tahlil qilish bilan bog'liq vazifalarda. Bu uskunadan olingan ba'zi fayllarning tahlili yoki, masalan, texnologik jurnalning tahlili bo'lishi mumkin.

Oldindan yangi funksiyalarni bajaradigan barcha amallarni bajarishingiz mumkin edi. O'rnatilgan tilda yozilgan ko'p yoki kamroq murakkab algoritmlardan foydalanish. Shunday qilib, yangi funktsiyalar sizga mutlaqo yangi imkoniyatlarni bermaydi. Biroq, ular kod miqdorini kamaytirish va kodni sodda va tushunarli qilish imkonini beradi. Bundan tashqari, ular sizga harakatlarning bajarilishini tezlashtirishga imkon beradi. Chunki platformada amalga oshirilgan funksiyalar, albatta, o'rnatilgan tilda yozilgan shunga o'xshash algoritmga qaraganda tezroq ishlaydi.

StrTemplate() formatlash funksiyasi

Bu funksiya parametrlarni satrga almashtiradi. Bunday konvertatsiya qilish zarurati ko'pincha, masalan, ogohlantirish xabarlarini ko'rsatishda paydo bo'ladi. Ushbu funktsiyaning sintaksisi quyidagicha:

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

<Шаблон>- bu parametr ko'rinishlarini almashtirishingiz kerak bo'lgan satr.

<Значение1> , ... <Значение10>- bu parametrlar (maksimal o'nta), ularning tasvirlari qatorga almashtirilishi kerak.

Shablonda almashtirishni amalga oshirmoqchi bo'lgan ma'lum joyni ko'rsatish uchun siz %1, ... %10 kabi markerlardan foydalanishingiz kerak. Shablonga kiritilgan markerlar soni va qiymatlarni o'z ichiga olgan parametrlar soni mos kelishi kerak.

Masalan, bunday operatorni bajarish natijasi:

qator bo'ladi:

2-qatordagi maʼlumotlar xatosi (Sana turi kerak)

StrCompare() satrlari bilan ishlash funksiyasi

Bu funksiya ikkita satrni katta-kichik harflar bilan solishtiradi. Masalan, bu kabi:

Ob'ektdan foydalanib, xuddi shu amalni avvalroq bajarishingiz mumkin Qadriyatlarni solishtirish:

Biroq, yangi funksiyadan foydalanish osonroq ko'rinadi. Va bundan tashqari, ob'ektdan farqli o'laroq, funktsiya Qadriyatlarni solishtirish, nozik mijozda ham, veb-mijozda ham ishlaydi.

StrStartsWith(), StrEndsAt() satrlar bilan ishlash funksiyalari

Bu funksiyalar satr belgilangan pastki satr bilan boshlanishini yoki satr belgilangan pastki qator bilan tugashini aniqlaydi. Ushbu funktsiyalar uchun algoritmni o'rnatilgan tilda amalga oshirish qiyin emas, lekin ularning mavjudligi sizga toza va tushunarli kod yozish imkonini beradi. Va ular tezroq ishlaydi.

Masalan, ularni operatorda ishlatish qulay Agar:

StrDivide(), StrConnect() satrlar bilan ishlash funksiyalari

Bu funksiyalar belgilangan ajratuvchi yordamida qatorni qismlarga ajratadi. Yoki aksincha, ular bir nechta satrlarni biriga birlashtirib, ular orasiga tanlangan ajratgichni kiritadilar. Ular jurnallar va texnologik jurnallarni yaratish yoki tahlil qilish uchun qulaydir. Masalan, texnologik jurnaldagi yozuvni keyingi tahlil uchun mos bo'lgan qismlarga osongina ajratishingiz mumkin:

StrFind() satrlari bilan ishlash funksiyasi

Eski funktsiya o'rniga Toping() Biz qo'shimcha imkoniyatlarga ega bo'lgan yangi funktsiyani amalga oshirdik:

  • Turli yo'nalishlarda qidirish (boshidan, oxiridan);
  • Belgilangan joydan qidirish;
  • Belgilangan raqam bilan hodisani qidiring (ikkinchi, uchinchi va boshqalar).

Aslida, u eski funktsiyaning imkoniyatlarini takrorlaydi. Bu eski versiyalarda tuzilgan modullar bilan moslikni saqlash uchun amalga oshiriladi. Eski funksiya Toping() Qayta ishlatmaslik tavsiya etiladi.

Quyida yangi qidiruv imkoniyatlaridan foydalanish misoli keltirilgan. Teskari qidiruv sizga rasmiylashtirilgan satrning oxirgi qismi kerak bo'lganda foydali bo'ladi, masalan, URL manzilidagi to'liq fayl nomi. Belgilangan joydan qidirish esa butun satrda emas, balki ma'lum bo'lakda qidirish kerak bo'lgan hollarda yordam beradi.

1C so'rovlarida satrlar bilan ishlashning bir nechta mexanizmlari mavjud. Birinchidan, chiziqlar qo'shilishi mumkin. Ikkinchidan, siz satrdan pastki qatorni olishingiz mumkin. Uchinchidan, satrlarni, shu jumladan naqsh bo'yicha solishtirish mumkin. Bu, ehtimol, torlar bilan bajarilishi mumkin bo'lgan barcha narsadir.

String qo'shish

So'rovga qatorlar qo'shish uchun "+" operatsiyasidan foydalaniladi. Siz faqat cheklangan uzunlikdagi satrlarni qo'shishingiz mumkin.

"Ism: " + Qarama-qarshi tomonlarni tanlang. 1-ustun sifatida nomini ma'lumotnomadan. Kontragentlar kontragentlar QAYERDA kontragentlar sifatida. Havola = &Link

Substring funktsiyasi

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

Ob'ekt modelidan Environment() funksiyasining analogi. Substring() funksiyasi string ma'lumotlariga qo'llanilishi mumkin va fragmentni tanlash imkonini beradi <Строки> , belgi raqamidan boshlanadi <НачальнаяПозиция> (satrdagi belgilar 1 dan boshlab raqamlanadi) va uzunligi <Длина> belgilar. Funktsiyani hisoblash natijasi o'zgaruvchan uzunlikdagi satr turiga ega va agar bo'lsa, uzunlik cheksiz hisoblanadi. <Строка> cheksiz uzunlik va parametrga ega <Длина> doimiy yoki 1024 dan katta emas.

Agar satr uzunligi ikkinchi parametrda ko'rsatilganidan kichik bo'lsa, u holda funktsiya bo'sh qatorni qaytaradi.

Diqqat! Cheksiz uzunlikdagi satrlarni cheklangan uzunlikdagi satrlarga aylantirish uchun SUBSTRING() funksiyasidan foydalanish tavsiya etilmaydi. Buning o'rniga EXPRESS() cast operatoridan foydalangan ma'qul.

Funktsiya o'xshash

Agar string atributi ma'lum mezonlarga javob berishiga ishonch hosil qilishimiz kerak bo'lsa, biz uni taqqoslaymiz:

Qarama-qarshi tomonlarni TANlang. 1-ustun sifatida nomini ma'lumotnomadan. Qarama-qarshi tomonlar kontragent sifatida, QAYERDA. Nomi = "Gazprom"

Ammo nozikroq taqqoslash kerak bo'lsa-chi? Faqat tenglik yoki tengsizlik emas, balki ma'lum bir naqshga o'xshashlikmi? SIMILAR funksiyasi aynan shu uchun yaratilgan.

LIKE — qatorni naqshga oʻxshashligini tekshirish operatori. SQL da LIKE ning analogi.

SIMILAR operatori uning chap tomonida ko'rsatilgan ifoda qiymatini o'ngda ko'rsatilgan naqsh qatori bilan solishtirish imkonini beradi. Ifodaning qiymati string tipida bo'lishi kerak. Agar ifoda qiymati naqshga mos kelsa, operator natijasi TRUE, aks holda FALSE bo'ladi.

Shablon qatoridagi quyidagi belgilar xizmat belgilari bo‘lib, satr belgisidan farqli ma’noga ega:

  • % (foiz): ixtiyoriy belgilarning istalgan sonini o'z ichiga olgan ketma-ketlik;
  • _ (pastki chiziq): ​​bitta ixtiyoriy belgi;
  • […] (kvadrat qavs ichida bir yoki bir nechta belgilar): kvadrat qavs ichida sanab o'tilgan har qanday bitta belgi. Ro'yxatda diapazonlar bo'lishi mumkin, masalan, a-z, ya'ni diapazonga kiritilgan ixtiyoriy belgi, jumladan diapazon oxirlari;
  • [^...] (kvadrat qavs ichida inkor belgisi, keyin bir yoki bir nechta belgilar): inkor belgisidan keyin sanab o‘tilganlardan boshqa har qanday bitta belgi.

Boshqa har qanday belgi o'zini anglatadi va qo'shimcha yuk ko'tarmaydi. Agar sanab o'tilgan belgilardan biri o'zi kabi yozilishi kerak bo'lsa, u holda uning oldiga yozilishi kerak<Спецсимвол>. O'zim<Спецсимвол>(har qanday mos belgi) SPECIAL CHARACTER kalit so'zidan keyin xuddi shu bayonotda aniqlanadi.

8.3.6.1977 versiyasida amalga oshirilgan.

Biz satrlar bilan ishlash uchun mo'ljallangan funktsiyalar to'plamini kengaytirdik. Biz buni sizga string ma'lumotlarini tahlil qilish uchun yanada ilg'or vositalarni taqdim etish uchun qildik. Yangi funksiyalar matn tahlilining texnologik vazifalarida qulay va foydali bo‘ladi. Formatlangan shakldagi ma'lumotlarni o'z ichiga olgan matnni tahlil qilish bilan bog'liq vazifalarda. Bu uskunadan olingan ba'zi fayllarning tahlili yoki, masalan, texnologik jurnalning tahlili bo'lishi mumkin.

Oldindan yangi funksiyalarni bajaradigan barcha amallarni bajarishingiz mumkin edi. O'rnatilgan tilda yozilgan ko'p yoki kamroq murakkab algoritmlardan foydalanish. Shunday qilib, yangi funktsiyalar sizga mutlaqo yangi imkoniyatlarni bermaydi. Biroq, ular kod miqdorini kamaytirish va kodni sodda va tushunarli qilish imkonini beradi. Bundan tashqari, ular sizga harakatlarning bajarilishini tezlashtirishga imkon beradi. Chunki platformada amalga oshirilgan funksiyalar, albatta, o'rnatilgan tilda yozilgan shunga o'xshash algoritmga qaraganda tezroq ishlaydi.

StrTemplate() formatlash funksiyasi

Bu funksiya parametrlarni satrga almashtiradi. Bunday konvertatsiya qilish zarurati ko'pincha, masalan, ogohlantirish xabarlarini ko'rsatishda paydo bo'ladi. Ushbu funktsiyaning sintaksisi quyidagicha:

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

<Шаблон>- bu parametr ko'rinishlarini almashtirishingiz kerak bo'lgan satr.

<Значение1> , ... <Значение10>- bu parametrlar (maksimal o'nta), ularning tasvirlari qatorga almashtirilishi kerak.

Shablonda almashtirishni amalga oshirmoqchi bo'lgan ma'lum joyni ko'rsatish uchun siz %1, ... %10 kabi markerlardan foydalanishingiz kerak. Shablonga kiritilgan markerlar soni va qiymatlarni o'z ichiga olgan parametrlar soni mos kelishi kerak.

Masalan, bunday operatorni bajarish natijasi:

qator bo'ladi:

2-qatordagi maʼlumotlar xatosi (Sana turi kerak)

StrCompare() satrlari bilan ishlash funksiyasi

Bu funksiya ikkita satrni katta-kichik harflar bilan solishtiradi. Masalan, bu kabi:

Qiymatni taqqoslash ob'ektidan foydalanib, xuddi shu amalni avvalroq bajarishingiz mumkin:

Biroq, yangi funksiyadan foydalanish osonroq ko'rinadi. Bundan tashqari, funktsiya Qiymatni taqqoslash ob'ektidan farqli o'laroq, nozik mijozda ham, veb-mijozda ham ishlaydi.

StrStartsWith(), StrEndsAt() satrlar bilan ishlash funksiyalari

Bu funksiyalar satr belgilangan pastki satr bilan boshlanishini yoki satr belgilangan pastki qator bilan tugashini aniqlaydi. Ushbu funktsiyalar uchun algoritmni o'rnatilgan tilda amalga oshirish qiyin emas, lekin ularning mavjudligi sizga toza va tushunarli kod yozish imkonini beradi. Va ular tezroq ishlaydi.

Masalan, ular If iborasida foydalanish uchun qulay:

StrDivide(), StrConnect() satrlar bilan ishlash funksiyalari

Bu funksiyalar belgilangan ajratuvchi yordamida qatorni qismlarga ajratadi. Yoki aksincha, ular bir nechta satrlarni biriga birlashtirib, ular orasiga tanlangan ajratgichni kiritadilar. Ular jurnallar va texnologik jurnallarni yaratish yoki tahlil qilish uchun qulaydir. Masalan, texnologik jurnaldagi yozuvni keyingi tahlil uchun mos bo'lgan qismlarga osongina ajratishingiz mumkin:

StrFind() satrlari bilan ishlash funksiyasi

Eski Find() funksiyasi oʻrniga biz qoʻshimcha imkoniyatlarga ega boʻlgan yangi funksiyani joriy qildik:

  • Turli yo'nalishlarda qidirish (boshidan, oxiridan);
  • Belgilangan joydan qidirish;
  • Belgilangan raqam bilan hodisani qidiring (ikkinchi, uchinchi va boshqalar).

Aslida, u eski funktsiyaning imkoniyatlarini takrorlaydi. Bu eski versiyalarda tuzilgan modullar bilan moslikni saqlash uchun amalga oshiriladi. Eski Find() funksiyasidan endi foydalanmaslik tavsiya etiladi.

Quyida yangi qidiruv imkoniyatlaridan foydalanish misoli keltirilgan. Teskari qidiruv sizga rasmiylashtirilgan satrning oxirgi qismi kerak bo'lganda foydali bo'ladi, masalan, URL manzilidagi to'liq fayl nomi. Belgilangan joydan qidirish esa butun satrda emas, balki ma'lum bo'lakda qidirish kerak bo'lgan hollarda yordam beradi.