1c stygų funkcijos. Naujos funkcijos darbui su stygomis

Stygos tipas yra visose programavimo kalbose. Jis yra primityvus, o 1C yra daug funkcijų, skirtų darbui su juo. Šiame straipsnyje mes pažvelgsime atidžiau įvairių būdų darbas su eilučių tipais 1C 8.3 ir 8.2, naudojant pavyzdžius.

Linija

Norint konvertuoti bet kokio tipo kintamąjį į eilutę, yra to paties pavadinimo funkcija „String()“. Įvesties parametras bus pats kintamasis, kurio eilutės atvaizdavimas turi būti gautas.

String(False) // grąžina "Ne"
String(12345) // grąžina "12 345"
Eilutė(CurrentDate()) //"07/21/2017 11:55:36"

Į eilutę galima konvertuoti ne tik primityvius tipus, bet ir kitus, pavyzdžiui, katalogų ir dokumentų elementus.

SokrLP, SokrL, SokrP

Šių funkcijų įvesties parametrai yra eilutės tipo kintamieji. Funkcijos pašalina nereikšmingus simbolius (tarpus, karietų grąžinimus ir kt.): atitinkamai iš kairės ir dešinės pusės, tik iš kairės pusės ir tik iš dešinės.

Santrumpa(" Tarpai bus pašalinti iš abiejų pusių ") // "Tarpos bus pašalintos iš abiejų pusių"
Santrumpa(" Tarpai iš abiejų pusių bus pašalinti ") // " Tarpai kairėje bus pašalinti "
Santrumpa(" Tarpai iš abiejų pusių bus pašalinti ") // " Tarpai dešinėje bus pašalinti"

Liūtas, dešinysis, vidutinis

Šios funkcijos leidžia apkarpyti dalį eilutės. Funkcija „Left()“ grąžins nurodyto ilgio eilutės dalį iš kairės pusės. Funkcija „Right()“ yra panaši, bet apkarpoma iš dešinės. Funkcija „Avg()“ leidžia nurodyti simbolio, iš kurio bus pasirinkta eilutė, skaičių ir jos ilgį.

Lev ("Eilutės kintamasis", 4) // grąžina "Str"
Right ("Eilutės kintamasis", 7) // grąžina "kintamąjį"
Medium ("Eilutės kintamasis", 2, 5) // grąžina "troco"

Stiprumas

Funkcija nustato simbolių, esančių eilutės kintamajame, skaičių.

StrLength("Žodis") // vykdymo rezultatas bus skaičius 5

Rasti

Funkcija leidžia ieškoti eilutės dalies eilutės kintamajame. Grąžinama reikšmė bus skaičius, rodantis rastos eilutės pradžios vietą. Jei atitikmens nerasta, grąžinamas nulis.

Atminkite, kad ieškant skiriamos didžiosios ir mažosios raidės. Jei pradinėje eilutėje yra daugiau nei vienas paieškos poeilutės atvejis, funkcija grąžins pirmojo įvykio pradžią.

Find("vienas, du, vienas, du, trys", "du") // funkcija grąžins skaičių 6

Tuščia eilutė

Naudodami šią funkciją galite nustatyti, ar eilutė tuščia. Neatsižvelgiama į smulkius simbolius, tokius kaip tarpas, vežimo grįžimas ir kiti.

EmptyString("Pupkin Vasilijus Ivanovičius") // funkcija grąžins reikšmę False
Funkcija EmptyString(" ") // grąžins reikšmę True

VReg, NReg, TReg

Šios funkcijos labai naudingos lyginant ir konvertuojant eilučių kintamuosius. „Vreg()“ grąžins pradinę eilutę didžiosiomis raidėmis, „HPreg()“ – mažosiomis raidėmis, o „TReg()“ formatuos taip, kad pirmasis kiekvieno atskiro žodžio simbolis būtų rašomas didžiosiomis raidėmis, o visi tolesni simboliai – didžiosiomis raidėmis.

VReg("GENERALUS DIREKTORIAUS") // grąžina reikšmę - "GENERAL DIRECTOR"
NReg („CEO DIRECTOR“) // grąžinama reikšmė – „CEO“
TREG („CEO DIRECTOR“) // grąžinama reikšmė – „Generalinis direktorius“

Puslapio keitimas

Ši funkcija yra analogiška pakeitimui in teksto redaktoriai. Tai leidžia pakeisti vieną simbolį ar simbolių rinkinį kitu eilutės kintamuosiuose.

StrReplace("raudona, balta, geltona", ","", ";") // grąžina "raudoną; baltas; geltona"

StrNumberLines

Funkcija leidžia nustatyti eilučių, atskirtų karietos grąžinimu, skaičių tekstiniame kintamajame.

Toliau pateiktame pavyzdyje kilpa pereis tris raundus, nes funkcija LineNumberRow grąžins 3 reikšmę:

Ind = 1 pagal eilučių skaičių (1 eilutė + simboliai. PS + 2 eilutė + simboliai. PS + 3 eilutė)
<тело цикла>
EndCycle;

StrGetString

Ši funkcija veikia su kelių eilučių tekstu taip pat, kaip ir ankstesnė. Tai leidžia jums gauti konkrečią eilutę iš teksto kintamojo.

StrGetString("Eilutė1" + simboliai.PS + "Eilutė2" + simboliai.PS + "Eilutė3", 2) // grąžinti "String2"

PuslapiųNumberAtvykimai

Funkcija skaičiuoja simbolio arba poeilutės pasikartojimų skaičių paieškos eilutėje.

StrNumberAttachments("a;b;c;d; ", ";") // funkcija grąžins skaičių 4

Simbolis ir simbolio kodas

Šios funkcijos leidžia gauti simbolį pagal jo kodą Unicode koduotėje, taip pat nustatyti šį kodą pagal patį simbolį.

SymbolCode("A") // funkcija grąžins skaičių 1 040
CharacterCode(1040) // funkcija grąžins „A“

Dažnos užduotys dirbant su stygomis

Stygų sujungimas

Norint sujungti kelias eilutes (sujungimui atlikti), pakanka naudoti sudėjimo operatorių.

"Line 1" + "Line 2" //dviejų eilučių pridėjimo rezultatas bus "Line 1 Line 2"

Tipas Konversija

Norint konvertuoti tipą į eilutę, pavyzdžiui, nuorodą į katalogo elementą, skaičių ir pan., pakanka naudoti funkciją „String()“. Tokios funkcijos kaip „ScrLP()“ taip pat konvertuos kintamuosius į eilutę, bet iš karto pašalins nereikšmingus simbolius.

String(1000) // grąžina "1 000"

Atkreipkite dėmesį, kad konvertuojant skaičių į eilutę, programa automatiškai pridėjo tarpą, skiriantį tūkstantį. Norėdami to išvengti, galite naudoti šias konstrukcijas:

StrReplace(String(1000),Characters.NPP,"") // grąžina "1000"

String(Formatas(1000,"HG=")) // grąžina "1000"

Citatos eilutėje

Gana dažnai teks susidurti su poreikiu nurodyti kabutes eilutės kintamajame. Tai gali būti arba užklausos tekstas, parašytas konfigūratoriuje, arba tiesiog kintamasis. Norėdami išspręsti šią problemą, tereikia nustatyti dvi kabutes.

Header = String("Horns and Hooves LLC - tai mes!") // grąžins "Horns and Hooves LLC - tai mes!"

Kelių eilučių, eilutės pertrauka

Norėdami sukurti kelių eilučių tekstą, tiesiog pridėkite eilučių pertraukas (Symbols.PS).

MultilineText = "Pirma eilutė" + Simboliai.PS + "Antra eilutė"

Kaip pašalinti tarpus

Norėdami pašalinti tarpus dešinėje arba kairėje, galite naudoti funkciją „ScrAP()“ (taip pat „ScrL()“ ir „ScrP()“):

StringNoSpaces = Santrumpa(" Daug raidžių ") // funkcija grąžins reikšmę "Daug raidžių"

Jei konvertavus skaičių į eilutę reikia pašalinti nepertraukiamus tarpus, naudokite šią konstrukciją:

StringNoSpaces = StrReplace(String(99999),Characters.NPP,"") // grąžina "99999"

Programuotojai taip pat dažnai naudoja šią konstrukciją, kuri leidžia pašalinti arba pakeisti kitu simboliu visas tarpas teksto kintamajame:

StringNoSpaces = StrReplace("hello","") // grąžina "hello"

Lyginant stygas tarpusavyje

Galite palyginti terminus su įprastu lygybės ženklu. Palyginimui skiriamos didžiosios ir mažosios raidės.

"Hello" = "labas" // grąžina False
"Hello" = "Labas" // grąžina True
"Hello" = "Goodbye" // grįš False

Yra keletas mechanizmų, kaip dirbti su eilutėmis 1C užklausose. Pirma, galima pridėti eilutes. Antra, galite paimti eilutę iš eilutės. Trečia, stygas galima palyginti, taip pat ir pagal šabloną. Tikriausiai tai viskas, ką galima padaryti su stygomis.

Stygos papildymas

Norėdami pridėti eilučių į užklausą, naudojama operacija „+“. Galite pridėti tik riboto ilgio eilutes.

PASIRINKITE „Vardas:“ + Sandorio šalys Pavadinimas AS 1 stulpelis FROM Sandorio šalys WHERE Sandorio šalys

Poeilutės funkcija

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

Funkcijos Environment() analogas iš objekto modelio. Funkcija Substring() gali būti taikoma eilutės duomenims ir leidžia pasirinkti fragmentą <Строки> , pradedant simbolio numeriu <НачальнаяПозиция> (simboliai eilutėje numeruojami pradedant nuo 1) ir ilgis <Длина> personažai. Funkcijos skaičiavimo rezultatas turi kintamo ilgio eilutės tipą ir ilgis bus laikomas neribotu, jei <Строка> turi neribotą ilgį ir parametrus <Длина> nėra konstanta arba didesnis nei 1024.

Jei eilutės ilgis yra mažesnis nei nurodyta antrajame parametre, funkcija grąžins tuščią eilutę.

Dėmesio! Nerekomenduojama naudoti funkcijos SUBSTRING() norint konvertuoti neriboto ilgio eilutes į riboto ilgio eilutes. Vietoj to geriau naudoti perdavimo operatorių EXPRESS().

Funkcija panaši

Jei turime įsitikinti, kad eilutės atributas atitinka tam tikrus kriterijus, palyginame jį:

SELECT Sandorio šalys Pavadinimas AS 1 stulpelis FROM Sandorio šalys WHERE Pavadinimas = "Gazprom".

Bet ką daryti, jei jums reikia subtilesnio palyginimo? Ne tik lygybė ar nelygybė, bet ir panašumas į tam tikrą modelį? Būtent tam buvo sukurta funkcija PANAŠAS.

LIKE – operatorius, skirtas patikrinti, ar eilutė yra panaši į šabloną. LIKE analogas SQL.

Panašus operatorius leidžia palyginti išraiškos, nurodytos jo kairėje, reikšmę su šablono eilute, nurodyta dešinėje. Išraiškos vertė turi būti eilutės tipo. Jei išraiškos reikšmė atitinka šabloną, operatoriaus rezultatas bus TRUE, kitu atveju jis bus FALSE.

Šie simboliai šablono eilutėje yra paslaugų simboliai ir jų reikšmė skiriasi nuo eilutės simbolio:

  • % (procentai): seka, turinti bet kokį skaičių savavališkų simbolių;
  • _ (pabraukimas): vienas savavališkas simbolis;
  • […] (V laužtiniai skliaustai vienas ar keli simboliai): bet kuris vienas simbolis iš išvardytų laužtiniuose skliaustuose. Sąraše gali būti diapazonų, pavyzdžiui, nuo a iki z, reiškiančių savavališką simbolį, įtrauktą į diapazoną, įskaitant diapazono galus;
  • [^...] (laužtiniuose skliaustuose neigimo ženklas, po kurio yra vienas ar daugiau simbolių): bet koks atskiras simbolis, išskyrus tuos, kurie išvardyti po neigimo ženklo.

Bet koks kitas simbolis reiškia save ir nekelia jokios papildomos apkrovos. Jei vieną iš išvardytų simbolių reikia parašyti kaip save patį, tada prieš jį reikia įrašyti<Спецсимвол>. Aš pats<Спецсимвол>(bet koks tinkamas simbolis) apibrėžiamas tame pačiame teiginyje po raktinio žodžio SPECIAL CHARACTER.

Įdiegta 8.3.6.1977 versijoje.

Išplėtėme funkcijų rinkinį, skirtą darbui su eilutėmis. Tai padarėme norėdami suteikti jums pažangesnius įrankius, skirtus eilučių duomenims analizuoti. Naujos funkcijos bus patogios ir naudingos atliekant technologines teksto analizės užduotis. Atliekant užduotis, susijusias su teksto, kuriame yra suformatuotų duomenų, analizavimu. Tai gali būti kai kurių failų, gautų iš įrangos, analizė arba, pavyzdžiui, technologinio žurnalo analizė.

Anksčiau galėjote atlikti visus veiksmus, kurie atlieka naujas funkcijas. Naudojant daugiau ar mažiau sudėtingus algoritmus, parašytus integruota kalba. Todėl naujos funkcijos nesuteikia jums jokių iš esmės naujų galimybių. Tačiau jie leidžia sumažinti kodo kiekį ir padaryti kodą paprastesnį bei suprantamesnį. Be to, jie leidžia pagreitinti veiksmų atlikimą. Nes platformoje įdiegtos funkcijos, žinoma, veikia greičiau nei panašus algoritmas, parašytas integruota kalba.

Formatavimo funkcija StrTemplate()

Ši funkcija pakeičia parametrus į eilutę. Tokios konversijos poreikis dažnai iškyla, pavyzdžiui, kai rodomi įspėjamieji pranešimai. Šios funkcijos sintaksė yra tokia:

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

<Шаблон>- tai eilutė, į kurią reikia pakeisti parametrų atvaizdus.

<Значение1> , ... <Значение10>- tai yra parametrai (daugiausia dešimt), kurių atvaizdai turi būti pakeisti į eilutę.

Norėdami nurodyti konkrečią šablono vietą, kurioje norite atlikti pakeitimą, turite naudoti tokius žymenis kaip %1, ... %10. Šablone dalyvaujančių žymeklių skaičius ir parametrų, kuriuose yra reikšmės, skaičius turi sutapti.

Pavyzdžiui, tokio operatoriaus vykdymo rezultatas:

bus eilutė:

Duomenų klaida 2 eilutėje (reikia datos tipo)

Funkcija, skirta dirbti su eilutėmis StrCompare()

Ši funkcija lygina dvi eilutes neskiriant didžiųjų ir mažųjų raidžių. Pavyzdžiui, taip:

Tą patį veiksmą galėtumėte atlikti anksčiau naudodami objektą Vertės palyginimas:

Tačiau naudotis nauja funkcija atrodo lengviau. Be to, ši funkcija, skirtingai nei vertės palyginimo objektas, veikia ir plonajame kliente, ir žiniatinklio kliente.

Funkcijos, skirtos darbui su eilutėmis StrStartsWith(), StrEndsAt()

Šios funkcijos nustato, ar eilutė prasideda nurodyta poeile, ar eilutė baigiasi nurodyta poeile. Šių funkcijų algoritmą nėra sunku įdiegti įterptoje kalboje, tačiau jų buvimas leidžia parašyti švaresnį ir suprantamesnį kodą. Ir jie dirba greičiau.

Pavyzdžiui, juos patogu naudoti If teiginyje:

Funkcijos, skirtos darbui su eilutėmis StrDivide(), StrConnect()

Šios funkcijos padalija eilutę į dalis, naudodamos nurodytą skyriklį. Arba atvirkščiai, jie sujungia kelias eilutes į vieną, tarp jų įterpdami pasirinktą skyriklį. Jie yra patogūs žurnalams ir technologiniams žurnalams kurti ar analizuoti. Pavyzdžiui, galite lengvai išanalizuoti technologinio žurnalo įrašą į dalis, tinkamas tolesnei analizei:

Funkcija darbui su eilutėmis StrFind()

Vietoj senosios Find() funkcijos įdiegėme nauja funkcija, kuri turi papildomų funkcijų:

  • Ieškoti skirtingomis kryptimis (nuo pradžios, nuo pabaigos);
  • Ieškoti iš nurodytos padėties;
  • Ieškokite įvykio su nurodytu skaičiumi (antru, trečiu ir pan.).

Tiesą sakant, tai dubliuoja senosios funkcijos galimybes. Tai daroma siekiant išlaikyti suderinamumą su moduliais, sudarytais senesnėse versijose. Rekomenduojama nebenaudoti senosios Find() funkcijos.

Toliau pateikiamas naujų paieškos galimybių naudojimo pavyzdys. Atvirkštinė paieška naudinga, kai reikia paskutinio formalizuotos eilutės fragmento, pvz., viso failo pavadinimo URL. O paieška iš nurodytos padėties padeda tais atvejais, kai reikia ieškoti žinomame fragmente, o ne visoje eilutėje.

1C 8.3 eilutės integruotoje 1C kalboje yra primityvaus tipo reikšmės Linija. Vertybės šio tipo turi savavališko ilgio Unicode eilutę. Eilučių tipo kintamieji yra simbolių rinkinys, įtrauktas į kabutes.

1 pavyzdys. Sukurkime eilutės kintamąjį su tekstu.

StringVariable = "Sveikas pasaulis!";

Funkcijos dirbant su stygomis 1s 8.3

IN šį skyrių Bus pateiktos pagrindinės funkcijos, leidžiančios keisti 1c eilutes arba analizuoti jose esančią informaciją.

Stiprumas

Stiprumas(<Строка>) . Grąžina simbolių skaičių eilutėje, perduodamoje kaip parametras.

2 pavyzdys. Suskaičiuokime simbolių skaičių eilutėje "Sveikas pasaulis!"

String = "Sveikas pasaulis!"; Simbolių skaičius = String(Eilutė); Ataskaita (Skaičius simboliai);

Šio kodo vykdymo rezultatas bus simbolių skaičius eilutėje: 11.

AbbrL

AbbrL(<Строка>) . Apkarpomi nereikšmingi simboliai į kairę nuo pirmojo reikšmingo simbolio eilutėje.
Smulkūs veikėjai:

  • erdvė;
  • nelūžtanti erdvė;
  • lentelės;
  • vežimo grąžinimas;
  • eilinis vertimas;
  • formos (puslapio) vertimas.

3 pavyzdys. Pašalinkite visus tarpus iš kairės eilutės "pasaulis!" ir pridėkite eilutę „Sveiki“.

String = Santrumpa("pasaulis!"); String = "Sveiki"+Eilutė; Report(String);

Šio kodo vykdymo rezultatas bus eilutė „Hello world!“ ekrane.

Sutrumpintas

abr(<Строка>) . Apkarpomi nereikšmingi simboliai į dešinę nuo pirmojo reikšmingo simbolio eilutėje.

4 pavyzdys. Forma iš eilučių „Sveiki“ ir „taika! frazė "Sveikas pasaulis!"

Linija = Santrumpa("Sveiki ")+" "+ Santrumpa(" pasaulis!"); Report(String);

AbbrLP

AbbrLP(<Строка>) . Apkarpomi nereikšmingi simboliai į dešinę nuo pirmojo reikšmingo simbolio eilutėje, taip pat apkarpomi nereikšmingi simboliai į kairę nuo pirmojo reikšmingo eilutės simbolio. Ši funkcija naudojama dažniau nei dvi ankstesnės, nes ji yra universalesnė.

5 pavyzdys. Pašalinkite nereikšmingus simbolius kairėje ir dešinėje sandorio šalies pavadinime.

Sandorio šalis = Katalogai. Ieškoti pagal išsamią informaciją ("TIN", "0777121211"); AccountObject = Account.GetObject(); Sandorio šaliesObject.Pavadinimas = AbbrLP(Sandorio šaliesObject.Name); AccountObject.Write();

Liūtas

Liūtas(<Строка>, <ЧислоСимволов>) . Gauna pirmuosius eilutės simbolius, simbolių skaičius nurodomas parametre Simbolių skaičius.

6 pavyzdys. Įleiskite struktūrą Darbuotojas yra darbuotojo vardas, pavardė ir tėvavardis. Gaukite eilutę su pavarde ir inicialais.

VardasPradinis = Lev(Darbuotojo.Vardas, 1); Patroniminis inicialas = Liūtas(Darbuotojas. Patronimas, 1); FullName = Darbuotojas.Pavardė + " " + Vardo pradžia + "." + Vidurinė pradžia + ".";

Teisingai

Teisingai (<Строка>, <ЧислоСимволов>) . Gauna paskutinius eilutės simbolius, parametre nurodytą simbolių skaičių Simbolių skaičius. Jei nurodytas simbolių skaičius viršija eilutės ilgį, grąžinama visa eilutė.

7 pavyzdys. Tegul eilutės kintamojo pabaigoje įrašoma data formatu „yyyymmdd“, gaukite eilutę su data ir konvertuokite į tipą data.

String = "Dabartinė data: 20170910"; StringDate = teisės (Eilutė, 8); Data = Data(StringDate);

trečiadienį

trečiadienis (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Gauna poeilelę iš eilutės, perduotos kaip parametras Linija, pradedant nuo simbolio, kurio numeris nurodytas parametre PradinisSkaičius o ilgis perduotas į parametrą Simbolių skaičius. Simbolių numeracija eilutėje prasideda nuo 1. Jei parametre PradinisSkaičius nurodyta reikšmė mažesnė arba lygi nuliui, tada parametras įgauna reikšmę 1. Jei parametras Simbolių skaičius nenurodytas, tada pasirenkami simboliai iki eilutės pabaigos.

8 pavyzdys. Tegul eilutės kintamajame, pradedant nuo devintos pozicijos, yra regiono kodas, jį reikia gauti ir įrašyti į atskirą eilutę.

Styga = "Regionas: 99 Maskva"; Regionas = vid.(Eilutė, 9, 2);

Puslapio radimas

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Ieško nurodytos poeilutės eilutėje, grąžindama rastos poeilutės pirmojo simbolio pozicijos numerį. Pažvelkime į šios funkcijos parametrus:

  • Linija. Šaltinio eilutė;
  • Ieškoti poeilutės. Ieškoti poeilutės;
  • Paieškos kryptis. Nurodo kryptį, kuria reikia ieškoti poeilutės eilutėje. Gali imti vertes:
    • Paieškos kryptis. Nuo pradžios;
    • Paieška.Pabaigos kryptis;
  • Pradinė padėtis. Nurodo vietą eilutėje, nuo kurios prasideda paieška;
  • Skaičius Atsitikimai. Nurodo ieškomos poeilutės pasireiškimo numerį šaltinio eilutėje.

9 pavyzdys. Eilutėje „Sveikas pasauli! Nustatykite paskutinio „ir“ simbolio pasireiškimo vietą.

PositionNumber = StrFind("Sveikas pasaulis!", "ir", Paieškos kryptis.Pabaiga); Ataskaita(PozicijosNumeris);

Vykdant šį kodą bus rodomas paskutinio simbolio „ir“ pasireiškimo numeris: 9.

VReg

VReg(<Строка>) . Konvertuoja visus simbolius nurodytoje eilutėje 1s8 į didžiąsias raides.

10 pavyzdys: konvertuokite eilutę "labas pasaulis!" į didžiąsias raides.

StringVreg = VReg("sveikas pasaulis!"); Report(StringVreg);

Šio kodo vykdymo rezultatas bus eilutė "HELLO WORLD!"

NReg

NReg(<Строка>) . Konvertuoja visus simbolius nurodytoje eilutėje 1s8 į mažąsias raides.

11 pavyzdys: konvertuokite eilutę "HELLO WORLD!" mažosiomis raidėmis.

StringNreg = NReg("SVEIKAS PASAULIS!"); Ataskaita(StringVreg);

Šio kodo vykdymo rezultatas bus eilutė "labas pasaulis!"

Treg

TReg(<Строка>) . Konvertuoja eilutę taip: pirmasis kiekvieno žodžio simbolis paverčiamas didžiosiomis raidėmis, likę žodžio simboliai paverčiami mažosiomis raidėmis.

12 pavyzdys: Pirmąsias žodžių raides eilutėje „labas pasaulis“ rašykite didžiosiomis raidėmis.

StringTreg = TReg("sveikas pasaulis!"); Ataskaita(StringTreg);

Šio kodo vykdymo rezultatas bus eilutė „Sveikas pasaulis!

Simbolis

Simbolis (<КодСимвола>) . Gauna simbolį pagal Unicod kodą.

13 pavyzdys. Pridėkite kairę ir dešinę eilutę „Sveikas pasaulis! simbolis ★

StringWithStars = Simbolis("9733")+"Sveikas pasaulis!"+Simbolis("9733"); Report(StringWithStars);

Vykdant šį kodą bus rodoma eilutė „★Hello World!★“

Simbolio kodas

Simbolio kodas(<Строка>, <НомерСимвола>) . Gauna Unicode simbolio kodą iš pirmame parametre nurodytos eilutės, esančios antrajame parametre nurodytoje pozicijoje.

14 pavyzdys. Sužinokite paskutinio simbolio kodą eilutėje „Sveikas pasaulis!

String = "Sveikas pasaulis!"; CharacterCode = CharacterCode(Eilutė, Strings(Eilutė)); Pranešti (simbolio kodas);

Šio kodo vykdymo rezultatas bus simbolio kodas „! – 33.

Tuščia eilutė

Tuščia eilutė (<Строка>) . Patikrina, ar eilutė susideda tik iš nereikšmingų simbolių, ty ar ji tuščia.

15 pavyzdys. Patikrinkite, ar eilutė, susidedanti iš trijų tarpų, yra tuščia.

Tuščias = EmptyString(" "); Ataskaita (tuščia);

Šio kodo vykdymo rezultatas bus žodis „Taip“ (loginės reikšmės eilutės išraiška Tiesa).

Puslapio keitimas

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Suranda visus paieškos poeilutės atvejus šaltinio eilutėje ir pakeičia ją pakaitine poeilute.

16 pavyzdys. Eilutėje "Sveikas pasaulis!" pakeisti žodį „Taika“ žodžiu „Draugai“.

String = StrReplace("Sveikas pasaulis!", "Pasaulis", "Draugai"); Report(String);

Šio kodo vykdymo rezultatas bus eilutė „Sveiki draugai!

StrNumberLines

StrNumberRow(<Строка>) . Leidžia suskaičiuoti kelių eilučių eilutės eilučių skaičių. Eiti į nauja linija 1s 8 simbolis naudojamas PS(naujos eilutės simbolis).

17 pavyzdys. Nustatykite teksto eilučių skaičių:
"Pirma eilė
Antra eilutė
Trečioji eilutė"

Skaičius = StrNumberString("Pirmoji eilutė"+Simboliai.PS +"Antra eilutė"+Simboliai.PS +"Trečia eilutė"); Ataskaita(Skaičius);

Šio kodo vykdymo rezultatas bus teksto eilučių skaičius: 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . Gauna eilutę kelių eilučių eilutėje pagal jos numerį. Eilučių numeracija prasideda nuo 1.

18 pavyzdys. Gaukite paskutinę teksto eilutę:
"Pirma eilė
Antra eilutė
Trečioji eilutė"

Tekstas = "Pirma eilutė" + Simboliai PS + "Antra eilutė" + Simboliai. Paskutinė eilutė = StrGetRow(tekstas, StrNumberLines(tekstas)); Ataskaita (Paskutinė eilutė);

Šio kodo vykdymo rezultatas bus eilutė „Trečia eilutė“.

PuslapiųNumberAtvykimai

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) . Grąžina nurodytos poeilutės pasikartojimų skaičių eilutėje. Funkcija yra didžiosios ir mažosios raidės.

19 pavyzdys. Nustatykite, kiek kartų raidė „c“ pasirodo eilutėje „Eilutės 1s 8.3 ir 8.2“, neatsižvelgiant į jos raidę.

Linija = "Eilutės po 1s 8.3 ir 8.2"; Skaičiuspasireiškimai = StrSkaičiusAtlikimai(Vreg(String), "C"); Ataskaita (įvykių skaičius);

Šio kodo vykdymo rezultatas bus įvykių skaičius: 2.

Puslapis prasideda nuo

StrStartsWith(<Строка>, <СтрокаПоиска>) . Patikrina, ar pirmame parametre perduota eilutė prasideda antrojo parametro eilute.

20 pavyzdys. Nustatykite, ar pasirinktos sandorio šalies TIN prasideda skaičiumi 1. Įveskite kintamąjį Sandorio šalis Sandorio šalys.

TIN = sandorio šalis.TIN; StartsUNits = StrStartsWith(TIN, "1"); Jei prasideda vienetais Tada //Jūsų kodas EndIf;

PageEndsOn

StrEndsWith(<Строка>, <СтрокаПоиска>) . Patikrina, ar pirmame parametre perduota eilutė baigiasi antrojo parametro eilute.

21 pavyzdys. Nustatykite, ar pasirinktos sandorio šalies TIN baigiasi skaičiumi 2. Įveskite kintamąjį Sandorio šalis išsaugoma nuoroda į katalogo elementą Sandorio šalys.

TIN = sandorio šalis.TIN; EndsWithTwo = StrEndsWith(TIN, "2"); If EndsInTwo Then //Jūsų kodas EndIf;

Puslapio padalijimas

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Padalina eilutę į dalis, naudodamas nurodytus skiriamuosius simbolius, ir įrašo gautas eilutes į masyvą. Pirmasis parametras saugo šaltinio eilutę, antrasis yra eilutė su skyrikliu, trečiasis nurodo, ar į masyvą reikia įrašyti tuščias eilutes (pagal numatytuosius nustatymus Tiesa).

22 pavyzdys. Turėkime eilutę su skaičiais, atskirtais simboliu „;“, gaukime skaičių masyvą iš eilutės.

Eilutė = "1; 2; 3"; Masyvas = StrDivide(Eilutė, ";"); Skaičiavimui = 0 pagal masyvą.Kiekis() - 1 ciklo bandymas Masyvas[Count] = Skaičius(AbbrLP(Masyvas[Skaičius])); Išimčių masyvas[Sch] = 0; EndAttemptsEndCycle;

Vykdymo metu bus gautas masyvas su skaičiais nuo 1 iki 3.

PageConnect

StrConnect(<Строки>, <Разделитель>) . Konvertuoja eilučių masyvą iš pirmojo parametro į eilutę, kurioje yra visi masyvo elementai, atskirti antrajame parametre nurodytu skyrikliu.

23 pavyzdys. Naudodami skaičių masyvą iš ankstesnio pavyzdžio, gaukite pradinę eilutę.

Sąskaitai = 0 pagal masyvą.Kiekis() - 1 ciklas Masyvas[Act] = String(Masyvas[Veiksmas]); EndCycle; Eilutė = StrConnect(Masyvas, "; ");

mob_info