1s qatorda sodir bo'lishini tekshirish uchun. Matn registrlarini o'zgartirish funktsiyalari

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 bir xil nomdagi "String ()" funksiyasi mavjud. Kirish parametri o'zgaruvchining o'zi bo'ladi, uning satr tasviri olinadi.

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 boshqa, masalan, katalog va hujjatlarning elementlarini ham aylantirish mumkin.

Qisqartirilgan LP, qisqartirilgan L, qisqartirilgan P

Bu 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.

abbrl("Ikkala tomondagi bo'shliqlar o'chiriladi") // "Ikkala tomondagi bo'shliqlar o'chiriladi"
abbr("Ikkala tomondagi bo'shliqlar o'chiriladi") // "Chapdagi bo'shliqlar o'chiriladi"
abbr(" 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. Lion() funksiyasi belgilangan uzunlikdagi satrning chap tomonidagi qismini qaytaradi. "O'ng ()" funktsiyasi shunga o'xshash, ammo kesish o'ngda amalga oshiriladi. "Wed()" funksiyasi qator tanlanadigan belgilar raqamini va uning uzunligini belgilash imkonini beradi.

Lion("String o'zgaruvchisi", 4) // "Stro" ni qaytaradi
Right("String o'zgaruvchisi", 7) // "o'zgaruvchi"ni qaytaradi
avg("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

Topmoq

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

Qidiruv katta-kichik harflarga sezgir ekanligini unutmang. Agar asl satrda qidiruv satrining bir nechta takrorlanishi bo'lsa, funktsiya birinchi takrorlanishning boshlanishini qaytaradi.

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

Bo'sh qator

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

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

VReg, NReg, TReg

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

VReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "GENERAL DIRECTOR"
HReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "CEO"
TReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "Bosh direktor"

StrReplace

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"

StrNumberRows

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

Quyidagi misoldagi tsikl uchta aylanadan o'tadi, chunki StrNumberRows funktsiyasi 3 qiymatini qaytaradi:

Ind \u003d 1 uchun StrNumber of Lines ("Line1" + Symbols.PS + "String2" + Symbols.PS + "Line3") Loop
<тело цикла>
EndCycle;

StrGetString

Bu funksiya ko'p qatorli matn bilan xuddi oldingisi kabi ishlaydi. Bu matn o'zgaruvchisidan ma'lum bir qatorni olish imkonini beradi.

StrGetString("String1" + Symbols.PS + "String2" + Symbols.PS + "String3", 2) // "2-qator" ni qaytaradi

StrNumberOccurrences

Funktsiya qidirilayotgan satrda belgi yoki pastki qatorning takrorlanish sonini hisoblaydi.

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

Symbol va SymbolCode

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

SymbolCode("A") // funksiya 1 040 raqamini qaytaradi
SymbolCode (1040) // funktsiya "A" ni qaytaradi

Satrlar bilan ishlashda tez-tez bajariladigan vazifalar

Satrlarni birlashtirish

Bir nechta satrlarni birlashtirish (birlashtirish) uchun qo'shish operatoridan foydalaning.

"1-qator" + "2-qator" //ikkita qatorni qo'shish natijasi "1-qator 2-qator" bo'ladi.

Konvertatsiya turi

Turni satrga, masalan, lug‘at elementiga, raqamga va hokazolarga havolani aylantirish uchun “String ()” funksiyasidan foydalanish kifoya. "ShortLP()" kabi funktsiyalar 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 tuzilmalardan foydalanishingiz mumkin:

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

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

Satrdagi iqtiboslar

Ko'pincha siz satr o'zgaruvchisiga tirnoq qo'yish 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 o'rnatishingiz kerak.

Header = String("Horns and Hooves LLC - bu biz!") // "Roga and Hooves LLC - biz!"

Ko'p qatorli, qator uzilishi

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

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

Bo'shliqlarni qanday olib tashlash mumkin

O'ng yoki chapdagi bo'shliqlarni olib tashlash uchun siz "Stretch()" funksiyasidan foydalanishingiz mumkin (shuningdek, "Scrpt()" va "ScreenP()"):

StringWithoutSpaces = ShortLP(" 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:

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

Bundan tashqari, dasturchilar ko'pincha matn o'zgaruvchisining barcha bo'shliqlarini olib tashlash yoki boshqa belgi bilan almashtirish imkonini beruvchi quyidagi konstruktsiyadan foydalanadilar:

StringWithoutSpaces = 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" // yolg'onni qaytaradi
"Salom" = "Salom" // "To'g'ri" ni qaytaradi
"Salom" = "Alvido" // False qiymatini qaytaradi

String 1C:Enterprise 8 tizimidagi ibtidoiy ma'lumotlar turlaridan biridir.Tiri bo'lgan 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 = "So'z 1" ;
Per2 = "Word 2" ;
Per3 = Per1 + "" + Per2;

Natijada Per3 muhim bo'ladi" 1-so'z 2-so'z.

Bundan tashqari, 1C: Enterprise 8 tizimlari satrlar bilan ishlash funktsiyalarini ta'minlaydi. Asosiylarini ko'rib chiqing:

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 - dialog oynasining sarlavhasi. Parametr <Длина> ixtiyoriy, kiritish satrining maksimal uzunligini bildiradi. Standart nolga teng, bu cheksiz uzunlikni bildiradi. 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 bilib, satr kiritilishi 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 registrlarini o'zgartirish funktsiyalari:

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

HReg(<Строка>) - Satrdagi barcha belgilarni kichik harflarga o'zgartiradi.

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

Satrdagi belgilarni qidirish va almashtirish funktsiyalari:

Topmoq(<Строка>, <ПодстрокаПоиска>) - qidiruv satrining paydo bo'lishining belgi raqamini topadi. Misol uchun:

Toping ("String", "ko'z"); // 4

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

4-raqamli yozuv = StrFind( "Himoyaviylik", "o" , Qidiruv yoʻnalishi. Birinchidan, 1 , 4 ); // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Manba satrida qidiruv satrining barcha takrorlanishini topadi va uni almashtiriladigan pastki qator bilan almashtiradi.

StrReplace("String" , "ko'z" , "" ); // 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 qatoridagi qidiruv pastki qatorining takrorlanish sonini hisoblab chiqadi.

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

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

StrPattern ( "1-variant = %1, 2-variant = %2", "1" , "2" ) ; // Parametr 1= 1, Parametr 2 = 2

String konvertatsiya qilish funktsiyalari:

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

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

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

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

abbr(<Строка>) - satrdagi oxirgi muhim belgining o'ng tomonidagi ahamiyatsiz belgilarni kesib tashlaydi.

Abbrl(<Строка>) - satrdagi birinchi muhim belgining chap tomonidagi va oxirgi muhim belgining o'ng tomonidagi ahamiyatsiz belgilarni kesib tashlaydi.

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

Boshqa xususiyatlar:

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

StrNumber of Lines(<Строка>) - ko'p qatorli satrlar sonini qaytaradi. Agar oldingi satrdan yangi satr belgisi bilan ajratilgan satr yangi hisoblanadi.

StrCompare(<Строка1>, <Строка2> ) - ikki qatorni katta-kichik harflarni sezmasdan solishtiradi. Funktsiya ob'ekt kabi ishlaydi Qiymatlarni 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" ); // bitta

O'rnatilgan 1c tilidagi 1C 8.3 dagi satrlar ibtidoiy turdagi qiymatlardir. Chiziq. Ushbu turdagi qiymatlar ixtiyoriy uzunlikdagi Unicode qatorini o'z ichiga oladi. String tipidagi oʻzgaruvchilar qoʻshtirnoq ichiga olingan belgilar toʻplamidir.

1-misol. Matnli satr o'zgaruvchisini yaratamiz.

StringVariable = "Salom dunyo!";

1s da satrlar bilan ishlash funksiyalari 8.3

Ushbu bo'lim 1 soniyada satrlarni o'zgartirish yoki ulardagi ma'lumotlarni tahlil qilish imkonini beruvchi asosiy funktsiyalarni taqdim etadi.

StrLength

StrLength(<Строка>) . Parametrda uzatilgan qatordagi belgilar sonini qaytaradi.

2-misol. “Salom dunyo!” qatoridagi belgilar sonini hisoblaymiz.

String = "Salom dunyo!"; Belgilar soni = StrLength(String); Hisobot (belgilar soni);

Ushbu kodni bajarish natijasida qatordagi belgilar soni ko'rsatiladi: 11.

Qisqartirilgan

qisqartma(<Строка>) . Satrdagi birinchi muhim belgining chap tomonidagi ahamiyatsiz belgilarni qisqartiradi.
Ahamiyatsiz belgilar:

  • bo'sh joy;
  • buzilmaydigan bo'shliq;
  • jadval tuzish;
  • vagonni qaytarish;
  • satr tarjimasi;
  • shaklning tarjimasi (sahifa).

Misol 3. "Tinchlik!" qatorining chap tomonidagi barcha bo'shliqlarni olib tashlang. va unga "Salom" qatorini qo'shing.

String = abbr("dunyo!"); String = "Salom"+String; Xabar berish (String);

Ushbu kodning bajarilishi natijasi "Salom dunyo!" qatorining ekrani bo'ladi.

Qisqartirish

abbr(<Строка>) . Satrdagi birinchi muhim belgining o'ng tomonidagi ahamiyatsiz belgilarni kesadi.

4-misol. “Salom” va “dunyo!” qatorlaridan shakl. ibora "Salom dunyo!"

String = abbr("Salom")+" "+abbr("dunyo!"); Xabar berish (String);

Qisqartirilgan LP

Abbrl(<Строка>) . Satrdagi birinchi muhim belgining o'ng tomonidagi ahamiyatsiz belgilarni, shuningdek, satrdagi birinchi muhim belgining chap tomonidagi ahamiyatsiz belgilarni qisqartiradi. Bu funksiya oldingi ikkitasiga qaraganda tez-tez ishlatiladi, chunki u ko'p qirrali.

Misol 5. Kontragent nomidagi chap va o'ngdagi ahamiyatsiz belgilarni olib tashlang.

Pudratchi = Directories.Contractors.FindBy Details("TIN", "0777121211"); ContractorObject = Contractor.GetObject(); ContractorObject.Description = Qisqartirilgan LP(ContractorObject.Description); ContractorObject.Write();

sher

sher(<Строка>, <ЧислоСимволов>) . Satrning birinchi belgilarini oladi, belgilar soni parametrda ko'rsatilgan Belgilar soni.

Misol 6. Tuzilishi bo'lsin Xodim xodimning familiyasi, ismi va otasining ismini o'z ichiga oladi. Familiya va bosh harflar bilan qatorni oling.

InitialName = Sher(Ishchining ismi, 1); Ota ismining bosh harfi = Arslon (Xodim.Otasining ismi, 1); To'liq ism = Xodim.Familiya + " " + Ismning bosh harfi + "." + Ota ismining bosh harfi + ".";

Huquqlar

To'g'ri(<Строка>, <ЧислоСимволов>) . Satrning oxirgi belgilarini oladi, belgilar soni parametrda ko'rsatilgan Belgilar soni. Belgilangan belgilar soni satr uzunligidan oshsa, butun satr qaytariladi.

7-misol. “yyyymmdd” formatidagi satr o‘zgaruvchisi oxiriga sana yozilsin, sana ko‘rsatilgan qatorni oling va uni tipga aylantiring. sana.

String = "Joriy sana: 20170910"; StringData = Huquqlar (String, 8); Sana = Sana (StringDate);

chorshanba

chorshanba(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Parametrda uzatilgan satrdan pastki qatorni oladi Chiziq, parametrda raqami ko'rsatilgan belgidan boshlab Dastlabki raqam va parametrga o'tgan uzunlik Belgilar soni. Satrdagi belgilarni raqamlash 1 dan boshlanadi. Agar parametr Dastlabki raqam noldan kichik yoki teng qiymat ko'rsatilgan bo'lsa, u holda parametr qiymatni oladi 1. Agar parametr Belgilar soni belgilanmagan, satr oxirigacha bo'lgan belgilar tanlanadi.

Misol 8. Satr o'zgaruvchisi to'qqizinchi pozitsiyadan boshlab mintaqa kodini o'z ichiga oladi, siz uni olishingiz va uni alohida qatorga yozishingiz kerak.

String = "Region: 99 Moskva"; Hudud = Oʻrtacha(Qator, 9, 2);

PageFind

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Satrda ko'rsatilgan pastki qatorni qidiradi, topilgan pastki satrning birinchi belgisining pozitsiya raqamini qaytaradi. Ushbu funktsiyaning parametrlarini ko'rib chiqing:

  • Chiziq. Manba qatori;
  • SubstringSearch. Istalgan pastki qator;
  • Yo'nalish qidiruvi. Satrdagi pastki qatorni qidirish yo'nalishini belgilaydi. Qiymatlarni qabul qilishi mumkin:
    • Qidiruv yoʻnalishi. boshidan;
    • Yo'nalishni izlang. Oxiridan;
  • Boshlanish pozitsiyasi. Qidiruvni boshlash uchun satrdagi pozitsiyani belgilaydi;
  • Kirish raqami. Manba qatorida qidirilayotgan pastki qatorning takrorlanish sonini belgilaydi.

Misol 9. “Salom dunyo!” qatorida. "va" belgisining oxirgi paydo bo'lish o'rnini aniqlang.

PositionNumber = StrFind("Salom Dunyo!", "va", SearchDirection.From End); Xabar berish (lavozim raqami);

Ushbu kodni bajarish natijasi ekranda "va" belgisining oxirgi marta paydo bo'lgan raqamini ko'rsatish bo'ladi: 9.

Vreg

VReg(<Строка>) . Belgilangan satrning barcha belgilarini 1s 8 ga katta harfga o'zgartiradi.

10-misol. “Salom dunyo!” qatorini aylantiring. bosh harfga.

StringVreg = Vreg("salom dunyo!"); Hisobot (StringVreg);

Ushbu kodning bajarilishi natijasi "HELLO WORLD!" qatorining ekrani bo'ladi.

HReg

HReg(<Строка>) . Belgilangan satrning barcha belgilarini 1s 8 ga kichik harfga o'zgartiradi.

11-misol. “HELLO WORLD!” qatorini aylantiring. kichik harfga.

StringNreg = NReg("SALOM DUNYO!"); Hisobot (StringVreg);

Ushbu kodning bajarilishi natijasi "salom dunyo!" qatorining ekrani bo'ladi.

TReg

TReg(<Строка>) . Satrni quyidagicha o'zgartiradi: har bir so'zning birinchi belgisi bosh harfga, so'zning qolgan belgilari kichik harfga aylantiriladi.

12-misol. “Salom dunyo!” qatoridagi so‘zlarning bosh harflarini bosh harf bilan yozing.

StringTreg = TReg("salom dunyo!"); Hisobot (StringTreg);

Ushbu kodning bajarilishi natijasi "Salom dunyo!" qatorining ekrani bo'ladi.

Belgi

Belgi(<КодСимвола>) . Unicode kodi bo'yicha belgi oladi.

13-misol. "Salom dunyo!" qatoriga chap va o'ng qo'shing. belgisi ★

StringWithStars = Belgi("9733")+"Salom dunyo!"+Belgi("9733"); Hisobot (StringWithStars);

Ushbu kodning bajarilishi natijasi "★Salom Dunyo!★" qatorining ekrani bo'ladi.

SymbolCode

SymbolCode(<Строка>, <НомерСимвола>) . Unicode belgilar kodini ikkinchi parametrda ko'rsatilgan pozitsiyada joylashgan birinchi parametrda ko'rsatilgan satrdan oladi.

14-misol. “Salom Dunyo!” qatoridagi oxirgi belgi kodini toping.

String = "Salom dunyo!"; CharacterCode =CharacterCode(String, StrLength(String)); Xabar berish (belgilar kodi);

Ushbu kodning bajarilishi natijasi "!" belgisi kodining ekrani bo'ladi. - 33.

Bo'sh qator

bo'sh qator (<Строка>) . Satr faqat ahamiyatsiz belgilardan iboratligini, ya'ni bo'shligini tekshiradi.

Misol 15. Satr bo'sh yoki uchta bo'sh joydan iboratligini tekshiring.

Empty = EmptyString(" "); Hisobot (bo'sh);

Ushbu kodning bajarilishi natijasi "Ha" so'zining ekrani bo'ladi (boolean qiymatning satr ifodasi To'g'ri).

StrReplace

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Manba satrida qidiruv satrining barcha takrorlanishini topadi va uni almashtiriladigan pastki qator bilan almashtiradi.

Misol 16. “Salom dunyo!” qatorida. “Dunyo” so‘zi “Do‘stlar” so‘zi bilan almashtirilsin.

String = StrReplace("Salom Dunyo!", "Dunyo", "Do'stlar"); Xabar berish (String);

Ushbu kodning bajarilishi natijasi "Salom do'stlar!" qatorining ekrani bo'ladi.

StrNumberRows

StrNumber of Lines(<Строка>) . Ko'p qatorli satrlar sonini hisoblash imkonini beradi. 1s 8da yangi qatorga o'tish uchun belgidan foydalaniladi PS(satr tasmasi belgisi).

17-misol. Matndagi qatorlar sonini aniqlang:
"Birinchi qator
Ikkinchi qator
Uchinchi qator"

Raqam = StrNumber of Lines("Birinchi qator"+Symbols.PS +"Ikkinchi qator"+Symbols.PS +"Uchinchi qator"); Hisobot (raqam);

Ushbu kodni bajarish natijasi matndagi qatorlar sonining ko'rinishi bo'ladi: 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . Ko'p qatorli satrni raqami bo'yicha oladi. Qator raqamlash 1 dan boshlanadi.

18-misol. Matndagi oxirgi qatorni oling:
"Birinchi qator
Ikkinchi qator
Uchinchi qator"

Matn = "Birinchi qator"+Belgilar.PS +"Ikkinchi qator"+Belgilar.PS +"Uchinchi qator"; LastLine = StrGetLine(Matn, StrStrNumber of Lines(Matn)); Xabar berish (oxirgi qator);

Ushbu kodni bajarish natijasi "Uchinchi qator" qatorining ko'rinishi bo'ladi.

StrNumberOccurrences

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) . Satrda belgilangan pastki qatorning takrorlanish sonini qaytaradi. Funktsiya katta-kichik harflarga sezgir.

19-misol. “c” harfi “1s 8.3 va 8.2-dagi chiziqlar” qatoriga uning holatidan qatʼiy nazar necha marta kirishini aniqlang.

String = "1s 8.3 va 8.2 qatorlar"; Hodisalar soni = StrRumber soni(Vreg(String), "C"); hisobot (hodisalar soni);

Ushbu kodni bajarish natijasi ekranda sodir bo'lgan holatlar sonini ko'rsatadi: 2.

PageBeginsFrom

StrBeginsFrom(<Строка>, <СтрокаПоиска>) . Birinchi parametrda berilgan satr ikkinchi parametrdagi satr bilan boshlanishini tekshiradi.

Misol 20. Tanlangan kontragentning TIN 1 raqamidan boshlanishini aniqlang. O'zgaruvchi bo'lsin. kontragent Qarama-qarshi tomonlar.

TIN = Pudratchi TIN; StartsCUnits = StrStartsC(TIN, "1"); Agar StartsFROM1 Unda //Sizning kodingiz EndIf;

Sahifa tugaydi

StrEndsOn(<Строка>, <СтрокаПоиска>) . Birinchi parametrda o'tkazilgan satr ikkinchi parametrdagi satr bilan tugashini tekshiradi.

21-misol. Tanlangan kontragentning TIN raqami 2 raqami bilan tugashini aniqlang. O'zgaruvchi bo'lsin. kontragent katalog elementiga havola saqlanadi Qarama-qarshi tomonlar.

TIN = Pudratchi TIN; Ikki bilan tugaydi = Str bilan tugaydi (TIN, "2"); Agar ikkita bilan tugasa //Kodingiz EndIf;

PageSplit

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Belgilangan ajratuvchi belgilar bo'yicha satrni qismlarga ajratadi va olingan qatorlarni massivga yozadi. Birinchi parametr asl satrni saqlaydi, ikkinchi parametr chegaralovchini o'z ichiga olgan qatorni o'z ichiga oladi, uchinchi parametr massivga bo'sh satrlar yozilishi kerakligini ko'rsatadi (sukut bo'yicha To'g'ri).

22-misol. Faraz qilaylik, bizda “;” belgisi bilan ajratilgan raqamlardan iborat qator bor, qatordan raqamlar massivini oling.

String = "1; 2; 3"; Massiv = StrSplit(String, ";"); Hisob uchun = 0 Array.Quantity() bo'yicha - 1 sikl urinish massivi[Count] = Raqam(Ablp(Array[Count])); Istisno massivi[W] = 0; EndTry EndCycle;

Bajarish natijasida 1 dan 3 gacha raqamlarga ega massiv olinadi.

StrConnect

StrConnect(<Строки>, <Разделитель>) . Birinchi parametrdagi satrlar massivini ikkinchi parametrda ko'rsatilgan chegaralovchi yordamida massivning barcha elementlarini o'z ichiga olgan qatorga aylantiradi.

Misol 23. Oldingi misoldagi raqamlar massividan foydalanib, asl qatorni oling.

Hisob uchun = 0 Array.Quantity() bo'yicha - 1 Loop Array[Count] = String(Array[Count]); EndCycle; String = StrConnect(Masiv, ";");