Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

1c 8.3 funksionet e vargut. Funksionet e reja të vargut

Zbatuar në versionin 8.3.6.1977.

Ne kemi zgjeruar grupin e funksioneve për të punuar me vargje. Ne e bëmë këtë për t'ju dhënë mjete më të avancuara për analizimin e të dhënave të vargut. Funksionet e reja do të jenë të përshtatshme dhe të dobishme në detyrat teknologjike të analizës së tekstit. Në detyrat që lidhen me analizimin e tekstit që përmban të dhëna në formë të formatuar. Kjo mund të jetë analiza e disa skedarëve të marrë nga pajisja, ose, për shembull, analiza e një regjistri teknologjik.

Të gjitha veprimet që kryejnë funksionet e reja, mund t'i kryeni më parë. Me ndihmën e algoritmeve pak a shumë komplekse të shkruara në një gjuhë të ngulitur. Prandaj, funksionet e reja nuk ju japin ndonjë mundësi thelbësisht të re. Sidoqoftë, ato ju lejojnë të zvogëloni sasinë e kodit, ta bëni kodin më të thjeshtë dhe më të kuptueshëm. Përveç kësaj, ato ju lejojnë të përshpejtoni ekzekutimin e veprimeve. Sepse funksionet e implementuara në platformë funksionojnë, natyrisht, më shpejt se një algoritëm i ngjashëm i shkruar në gjuhën e integruar.

Formatoni funksionin StrTemplate()

Ky funksion zëvendëson parametrat në një varg. Nevoja për një konvertim të tillë shpesh lind, për shembull, kur shfaqen mesazhe paralajmëruese. Sintaksa për këtë funksion është si më poshtë:

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

<Шаблон>është vargu në të cilin zëvendësohen paraqitjet e parametrave.

<Значение1> , ... <Значение10>- këto janë parametrat (maksimumi - dhjetë), paraqitjet e të cilave duhet të zëvendësohen në varg.

Për të specifikuar një vend specifik në shabllonin në të cilin dëshironi të kryeni zëvendësimin, duhet të përdorni shënues të formës %1, ... %10. Numri i shënuesve të përfshirë në shabllon dhe numri i parametrave që përmbajnë vlera duhet të përputhen.

Për shembull, rezultati i ekzekutimit të një operatori të tillë:

do të ketë një linjë:

Gabim i të dhënave në rreshtin 2 (kërkon llojin e datës)

Funksioni i vargut StrCompare()

Ky funksion krahason dy vargje në mënyrë të pandjeshme. Për shembull, si kjo:

Ju mund të kryeni të njëjtin veprim përpara se të përdorni objektin ValueComparison:

Megjithatë, përdorimi i funksionit të ri duket më i thjeshtë. Dhe përveç kësaj, funksioni, ndryshe nga objekti Value Compare, funksionon si në klientin thin ashtu edhe në klientin në ueb.

Funksionet e vargut StrBeginsC(), StrEndsTo()

Këto funksione përcaktojnë nëse një varg fillon me një nënvarg të caktuar, ose nëse një varg përfundon me një nënvarg të caktuar. Algoritmi i këtyre funksioneve nuk është i vështirë për t'u zbatuar në një gjuhë të integruar, por prania e tyre ju lejon të shkruani një kod më të pastër dhe më të kuptueshëm. Dhe ata punojnë më shpejt.

Për shembull, ato janë të përshtatshme për t'u përdorur në deklaratën If:

Funksionet për të punuar me vargjet StrSplit(), StrJoin()

Këto funksione ndajnë vargun në pjesë sipas kufirit të specifikuar. Ose anasjelltas, ata kombinojnë disa rreshta në një, duke futur ndarësin e zgjedhur midis tyre. Ato janë të përshtatshme për krijimin ose analizimin e regjistrave, një regjistër teknologjik. Për shembull, mund të çmontoni lehtësisht një hyrje teknologjike të regjistrit në pjesë të përshtatshme për analiza të mëtejshme:

Funksioni i punës me vargjet StrFind()

Në vend të funksionit të vjetër Find(), ne kemi implementuar një funksion të ri që ka veçori shtesë:

  • Kërko në drejtime të ndryshme (nga fillimi, nga fundi);
  • Kërkoni nga pozicioni i specifikuar;
  • Kërkoni për një ndodhi me numrin e specifikuar (i dyti, i treti, etj.).

Në fakt, ai kopjon aftësitë e funksionit të vjetër. Kjo është bërë për të ruajtur përputhshmërinë me modulet e përpiluara në versionet më të vjetra. Funksioni i vjetër Find() rekomandohet të mos përdoret më.

Më poshtë është një shembull duke përdorur aftësitë e reja të kërkimit. Kërkimi prapa është i dobishëm kur ju nevojitet pjesa e fundit e një vargu të formalizuar, siç është emri i plotë i një skedari në një URL. Dhe kërkimi nga një pozicion i caktuar ndihmon në rastet kur duhet të kërkoni në një fragment të njohur, dhe jo në të gjithë vargun.

Lloji String gjendet në të gjitha gjuhët e programimit. Është primitiv, dhe në 1C ka shumë funksione për të punuar me të. Në këtë artikull, ne do të shqyrtojmë në detaje mënyrat e ndryshme për të punuar me llojet e vargjeve në 1C 8.3 dhe 8.2 duke përdorur shembuj.

Linjë

Për të kthyer një variabël të çdo lloji në një varg, ekziston funksioni "String ()" me të njëjtin emër. Parametri i hyrjes do të jetë vetë ndryshorja, paraqitja e vargut të së cilës duhet të merret.

String (False) // kthen "Jo"
String(12345) // kthen "12 345"
String(Data aktuale()) //"21.07.2017 11:55:36"

Është e mundur të konvertohen në një varg jo vetëm lloje primitive, por edhe të tjerë, për shembull, elementë të drejtorive dhe dokumenteve.

Shkurtuar LP, Shkurtuar L, Shkurtuar P

Parametrat hyrës të këtyre funksioneve janë një variabël e llojit të vargut. Funksionet heqin karaktere të parëndësishme (hapësira, kthime të karrocave, etj.): nga ana e majtë dhe e djathtë, respektivisht vetëm nga ana e majtë dhe vetëm nga e djathta.

abbrl("Hapësirat në të dyja anët do të hiqen") // "Hapësirat në të dyja anët do të hiqen"
abbr("Hapësirat në të dyja anët do të hiqen") // "Hapësirat në të majtë do të hiqen"
abbr(" Hapësirat në të dyja anët do të hiqen ") // "Hapësirat në të djathtë do të hiqen"

Leo, djathtas, mes

Këto funksione ju lejojnë të prisni një pjesë të vargut. Funksioni Lion() do të kthejë pjesën e vargut në anën e majtë të gjatësisë së specifikuar. Funksioni "Right()" është i ngjashëm, por prerja bëhet në të djathtë. Funksioni "Wed()" ju lejon të specifikoni numrin e karaktereve nga i cili do të zgjidhet vargu dhe gjatësinë e tij.

Lion("variabla e vargut", 4) // kthen "Stro"
Right("variabla e vargut", 7) // kthen "ndryshore"
avg("variabla e vargut", 2, 5)// kthen "troco"

Fortësia

Funksioni përcakton numrin e karaktereve që përmbahen në një variabël vargu.

StrLength ("Fjala") // rezultati i ekzekutimit do të jetë numri 5

Per te gjetur

Funksioni bën të mundur kërkimin e një pjese të një vargu në një variabël vargu. Vlera e kthyer do të jetë një numër që tregon pozicionin e fillimit të vargut të gjetur. Nëse nuk gjenden ndeshje, zero kthehet.

Vini re se kërkimi është i ndjeshëm ndaj shkronjave të vogla. Nëse ka më shumë se një shfaqje të nënvargut të kërkimit në vargun origjinal, funksioni do të kthejë fillimin e ndodhjes së parë.

Gjeni ("një, dy, një, dy, tre", "dy") // funksioni do të kthejë numrin 6

Linjë bosh

Përdorimi i këtij funksioni ju lejon të përcaktoni nëse një varg është bosh. Karakteret e parëndësishme, si hapësira, kthimi i karrocës dhe të tjera nuk merren parasysh.

EmptyString ("Vasily Ivanovich Pupkin") // funksioni do të kthehet False
EmptyString(" ") // funksioni do të kthehet i vërtetë

VReg, NReg, Treg

Këto funksione janë shumë të dobishme kur krahasohen dhe konvertohen variablat e vargut. "Vreg()" do të kthejë vargun origjinal me shkronja të mëdha, "HReg()" me shkronja të vogla dhe "Treg()" do ta formatojë atë në mënyrë që karakteri i parë i secilës fjalë individuale të shkruhet me shkronja të mëdha dhe të gjithë karakteret pasuese të jenë të vogla.

VReg("DREJTORI I PËRGJITHSHËM") // vlera e kthimit - "DREJTORI I PËRGJITHSHËM"
HReg ("DREJTORI I PËRGJITHSHËM") // vlera e kthimit - "CEO"
Treg ("DREJTORI I PËRGJITHSHËM") // vlera e kthimit - "Drejtori i Përgjithshëm"

StrReplace

Ky funksion është i ngjashëm me zëvendësimin në redaktuesit e tekstit. Kjo ju lejon të zëvendësoni një karakter ose grup karakteresh me një tjetër në variablat e vargut.

StrReplace("e kuqe, e bardhë, e verdhë", ",", ";") // kthen "të kuqe; E bardhë; e verdhe"

StrNumberRows

Funksioni ju lejon të përcaktoni numrin e rreshtave të ndara nga një kthim në një variabël teksti.

Cikli në shembullin e mëposhtëm do të kalojë nëpër tre rrathë sepse funksioni StrNumberRows do të kthejë vlerën 3:

Për ind \u003d 1 nga StrNumber of Lines ("Line1" + Simbols.PS + "String2" + Symbols.PS + "Line3") Loop
<тело цикла>
Cikli i Fundit;

StrGetString

Ky funksion funksionon me tekst me shumë rreshta në të njëjtën mënyrë si ai i mëparshmi. Kjo ju lejon të merrni një varg specifik nga një variabël teksti.

StrGetString("String1" + Symbols.PS + "String2" + Symbols.PS + "String3", 2) // kthen "Line2"

StrNumberOccurrences

Funksioni numëron numrin e shfaqjeve të një karakteri ose nënvargu në vargun e kërkuar.

StrNumberInstallations("a;b;c;d; ", ";") // funksioni do të kthejë numrin 4

Simboli dhe kodi i simboleve

Këto funksione ju lejojnë të merrni një karakter nga kodi i tij Unicode, si dhe të përcaktoni këtë kod nga vetë karakteri.

SymbolCode("A") // funksioni do të kthejë numrin 1 040
SymbolCode(1040) // funksioni do të kthejë "A"

Detyra të shpeshta kur punoni me vargje

Lidhja e vargut

Për të lidhur vargje të shumta (lidhni) thjesht përdorni operatorin e mbledhjes.

"Rreshti 1" + "Rreshti 2" //rezultati i shtimit të dy rreshtave do të jetë "Rreshti 1 Linja 2"

Konvertimi i llojit

Për të kthyer një lloj në një varg, për shembull, një referencë për një element fjalori, një numër etj., mjafton të përdorni funksionin "String ()". Funksionet si "ShortLp()" gjithashtu do të konvertojnë variablat në një varg, por menjëherë me prerje të karaktereve të parëndësishme.

String (1000) // do të kthejë "1000"

Ju lutemi vini re se kur konverton një numër në një varg, programi shtoi automatikisht një hapësirë ​​që ndan një mijë. Për të shmangur këtë, mund të përdorni strukturat e mëposhtme:

StrReplace(String(1000),Characters.NPP,"") // kthen "1000"

String(Format(1000,"CH=")) // do të kthejë "1000"

Citate në një varg

Shumë shpesh do t'ju duhet të përballeni me nevojën për të vendosur thonjëza në një variabël vargu. Mund të jetë ose një tekst kërkese i shkruar në konfigurues, ose thjesht një ndryshore. Për të zgjidhur këtë problem, ju vetëm duhet të vendosni dy karaktere citate.

Header = String("Horns and Hooves LLC is us!") // kthen "Roga and Hooves LLC is ne!"

Shumë linjë, ndërprerje rreshti

Për të krijuar një tekst me shumë rreshta, mjafton të shtoni karaktere të ndërprerjes së rreshtit (Symbols.PS).

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

Si të hiqni hapësirat

Për të hequr hapësirat djathtas ose majtas, mund të përdorni funksionin "StretchLp()" (si dhe "Scrpt()" dhe "ScreenP()"):

StringWithoutSpaces = ShortLP (" Shumë shkronja ") // funksioni do të kthejë vlerën "Shumë shkronja"

Nëse, pas konvertimit të një numri në një varg, duhet të hiqni hapësirat që nuk prishen, përdorni konstruksionin e mëposhtëm:

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

Gjithashtu, programuesit shpesh përdorin konstruksionin e mëposhtëm, i cili ju lejon të hiqni ose zëvendësoni të gjitha hapësirat e një ndryshoreje teksti me një karakter tjetër:

StringWithoutSpaces = StrReplace(" përshëndetje", " ","") // kthen "përshëndetje"

Krahasimi i vargjeve me njëri-tjetrin

Ju mund të krahasoni termat me shenjën e zakonshme të barazimit. Krahasimi është i ndjeshëm ndaj rasteve.

"hello" = "përshëndetje" // do të kthehet false
"Hello" = "Përshëndetje" // do të kthehet e vërtetë
"Hello" = "Mirupafshim" // do të kthehet False

String është një nga llojet primitive të të dhënave në sistemet 1C:Enterprise 8. Variablat me tip linjë përmbajnë tekst.

Lloji i vlerave të ndryshueshme linjë janë të mbyllura në thonjëza të dyfishta. Mund të shtohen disa variabla të këtij lloji.

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

Përfundimisht Per 3 do të ketë rëndësi" Fjala 1 Fjalë 2″.

Për më tepër, sistemet 1C:Enterprise 8 ofrojnë funksione për të punuar me vargje. Konsideroni ato kryesore:

EnterString (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funksioni është krijuar për të shfaqur një kuti dialogu në të cilën përdoruesi mund të specifikojë vlerën e një variabli të llojit Linjë. Parametri <Строка> kërkohet dhe përmban emrin e ndryshores në të cilën do të shkruhet vargu i futur. Parametri <Подсказка> opsionale është titulli i kutisë së dialogut. Parametri <Длина> opsionale, tregon gjatësinë maksimale të vargut të hyrjes. Parazgjedhja është zero, që do të thotë gjatësi e pakufizuar. Parametri <Многострочность> opsionale. Përcakton modalitetin e futjes së tekstit me shumë rreshta: True — futja e tekstit me shumë rreshta me ndarës rreshtash; False - Futni një varg të thjeshtë.

Mund të futet një varg dhe, duke ditur kodin e karakterit në Unicode:

Simboli (<КодСимвола>) — Kodi futet si numër.

Letra= Symbol(1103 ); // Unë

Ekziston gjithashtu një funksion i kundërt që ju lejon të zbuloni kodin e një karakteri.

Kodi i simbolit (<Строка>, <НомерСимвола>) — Kthen numrin Unicode të karakterit të specifikuar si numër.

Funksionet e konvertimit të rasteve të tekstit:

VReg(<Строка>) - Konverton të gjitha karakteret në një varg në shkronja të mëdha.

HReg(<Строка>) - Konverton të gjitha karakteret në një varg në shkronja të vogla.

Treg(<Строка>) - konverton të gjithë karakteret e vargut në rastet e titullit. Kjo do të thotë, shkronjat e para në të gjitha fjalët konvertohen në shkronja të mëdha, dhe shkronjat e mbetura shndërrohen në shkronja të vogla.

Funksionet për kërkimin dhe zëvendësimin e karaktereve në një varg:

Per te gjetur(<Строка>, <ПодстрокаПоиска>) - gjen numrin e karakterit të shfaqjes së nënvargut të kërkimit. Për shembull:

Gjeni ("String", "sy"); // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — gjen numrin e karakterit të shfaqjes së nënvargut të kërkimit, numri i ndodhjes specifikohet në parametrin përkatës. Në këtë rast, kërkimi fillon nga karakteri, numri i të cilit është specifikuar në parametër Pozicioni fillestar. Kërkimi është i mundur nga fillimi ose nga fundi i vargut. Për shembull:

Numri 4 Hyrja = StrFind( "Mbrojtja", "o" , Drejtimi i kërkimit. Së pari, 1, 4); // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Gjen të gjitha dukuritë e nënvargut të kërkimit në vargun burimor dhe e zëvendëson atë me nënvargun zëvendësues.

StrReplace("String", "sy", ""); // Faqe

Linja e zbrazët (<Строка>) - kontrollon vargun për karaktere domethënëse. Nëse nuk ka karaktere domethënëse, ose nuk ka karaktere fare, atëherë vlera kthehet E vërtetë. Përndryshe - Gënjeshtra.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – llogarit numrin e dukurive të nënvargut të kërkimit në vargun burimor.

StrNumberOccurrences ( "Studoni, studioni dhe studioni përsëri", "te studiosh" , "" ) ; // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — zëvendëson parametrat në varg me numër. Vargu duhet të përmbajë shënues zëvendësues të formës: "%1..%N". Numërimi i shënuesve fillon nga 1. Nëse vlera e parametrit E papërcaktuar, vargu bosh është zëvendësuar.

StrPattern ( "Opsioni 1 = %1, Opsioni 2 = %2", "1" , "2" ) ; // Parametri 1= 1, Parametri 2 = 2

Funksionet e konvertimit të vargut:

Nje luan(<Строка>, <ЧислоСимволов>) kthen karakteret e para të vargut.

E drejte(<Строка>, <ЧислоСимволов>) - kthen karakteret e fundit të vargut.

e mërkurë (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - kthen një varg gjatësie<ЧислоСимволов>, duke filluar me një personazh<НачальныйНомер>.

Abbr(<Строка>) shkurton karakteret jo të rëndësishme në të majtë të karakterit të parë domethënës në varg.

abbr(<Строка>) - ndërpret karakteret e parëndësishme në të djathtë të karakterit të fundit domethënës në varg.

Abbrl(<Строка>) - shkurton karakteret jo të rëndësishme në të majtë të karakterit të parë domethënës në një varg dhe në të djathtë të karakterit të fundit domethënës në një varg.

StrGetString(<Строка>, <НомерСтроки>) – merr vargun e vargut me shumë rreshta sipas numrit.

Karakteristika te tjera:

Gjatësia e fortë (<Строка>) - kthen numrin e karaktereve në një varg.

StrNumri i linjave(<Строка>) - kthen numrin e rreshtave në një varg me shumë rreshta. Një rresht konsiderohet i ri nëse ndahet nga rreshti i mëparshëm me një karakter të linjës së re.

StrKrahaso(<Строка1>, <Строка2> ) - krahason dy rasat vargjesh pa ndjeshmëri. Funksioni funksionon si një objekt Krahasimi i vlerave. Kthimet:

  • 1 - nëse rreshti i parë është më i madh se i dyti
  • -1 - nëse rreshti i dytë është më i madh se i pari
  • 0 - nëse vargjet janë të barabarta

StrCompare("Rreshti i parë", "Rreshti i dytë"); // një

Ka pak mekanizma për të punuar me vargjet në pyetjet 1C. Së pari, mund të shtohen vargje. Së dyti, një nënvarg mund të merret nga një varg. Së treti, vargjet mund të krahasohen, duke përfshirë edhe modelin. Kjo është pothuajse gjithçka që mund të bëni me vargjet.

Shtimi i vargut

Operatori "+" përdoret për të shtuar vargje në një pyetje. Mund të shtoni vetëm vargje me gjatësi të kufizuar.

SELECT "Name: " + Contractors.Name AS Column1 FROM Directory.Contractors AS Contractors WHERE Contractors.Reference = &Reference

Funksioni i nënstringut

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

Një analog i funksionit Environment() nga modeli i objektit. Funksioni Substring() mund të aplikohet në të dhënat e llojit të vargut dhe ju lejon të zgjidhni një fragment <Строки> , duke filluar me një karakter numër <НачальнаяПозиция> (karakteret në një varg numërohen nga 1) dhe gjatësia <Длина> personazhet. Rezultati i vlerësimit të funksionit ka një lloj vargu të gjatësisë së ndryshueshme, dhe gjatësia do të konsiderohet e pakufizuar nëse <Строка> ka gjatësi dhe parametra të pakufizuar <Длина> nuk është konstante ose më e madhe se 1024.

Nëse gjatësia e vargut është më e vogël se sa specifikohet në parametrin e dytë, atëherë funksioni do të kthejë një varg bosh.

Kujdes! Përdorimi i funksionit SUBSTRING() për të kthyer vargjet me gjatësi të pakufizuar në vargje me gjatësi të kufizuar nuk rekomandohet. Në vend të kësaj, është më mirë të përdorni operatorin cast EXPRESS().

Funksioni i ngjashëm

Nëse duhet të sigurohemi që atributi i vargut plotëson disa kritere, ne e krahasojmë atë:

SELECT Counterparties.Name AS Column1 FROM Directory.Counterparties AS Counterparties WHERE Counterparties.Name = "Gazprom"

Por, çka nëse nevojitet një krahasim më delikat? Jo vetëm për barazi apo pabarazi, por për ngjashmëri me një model të caktuar? Pikërisht për këtë është krijuar funksioni LIKE.

LIKE - Një operator për të kontrolluar nëse një varg është i ngjashëm me një model. Analog i LIKE në SQL.

Operatori LIKE ju lejon të krahasoni vlerën e shprehjes së specifikuar në të majtë të saj me vargun e shabllonit të specifikuar në të djathtë. Vlera e shprehjes duhet të jetë e tipit string. Nëse vlera e shprehjes përputhet me shabllonin, rezultati i operatorit do të jetë TRUE, përndryshe do të jetë FALSE.

Karakteret e mëposhtme në vargun e shabllonit janë karaktere shërbimi dhe kanë një kuptim të ndryshëm nga karakteri i vargut:

  • % (përqindje): një sekuencë që përmban çdo numër karakteresh arbitrare;
  • _ (nënvizoj): një karakter arbitrar;
  • […] (një ose më shumë karaktere brenda kllapave katrore): çdo karakter i vetëm i listuar brenda kllapave katrore. Një numërim mund të përmbajë vargje, të tilla si a-z, që do të thotë çdo karakter brenda intervalit, duke përfshirë skajet e diapazonit;
  • [^…] (në kllapa katrore një shenjë mohimi e ndjekur nga një ose më shumë karaktere): Çdo karakter i vetëm përveç atyre të renditur pas shenjës së mohimit.

Çdo simbol tjetër nënkupton vetveten dhe nuk mbart ndonjë ngarkesë shtesë. Nëse është e nevojshme të shkruhet një nga personazhet e listuar si vetë, atëherë duhet të paraprihet<Спецсимвол>. Veten time<Спецсимвол>(çdo karakter i përshtatshëm) përcaktohet në të njëjtën deklaratë pas fjalës kyçe KARAKTER SPECIALE.

Vargjet në 1C 8.3 në gjuhën e integruar 1c janë vlera të një lloji primitiv Linjë. Vlerat e këtij lloji përmbajnë një varg Unicode me gjatësi arbitrare. Variablat e tipit të vargut janë një grup karakteresh të mbyllura në thonjëza.

Shembulli 1. Le të krijojmë një variabël vargu me tekst.

StringVariable = "Përshëndetje botë!";

Funksionet për të punuar me vargje në 1s 8.3

Ky seksion do të ofrojë funksionet kryesore që ju lejojnë të ndryshoni linjat në 1 ose të analizoni informacionin e përfshirë në to.

Fortësia

Gjatësia e fortë (<Строка>) . Rikthen numrin e karaktereve që përmbahen në vargun e kaluar në parametër.

Shembulli 2. Le të numërojmë numrin e karaktereve në vargun "Përshëndetje botë!".

String = "Përshëndetje botë!"; Numri i Karaktereve = StrLength(String); Raporti (Numri i Personazheve);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e numrit të karaktereve në vargun: 11.

Shkurtuar

Abbr(<Строка>) . Shkurt karakteret jo të rëndësishme në të majtë të karakterit të parë domethënës në një varg.
Personazhe të parëndësishëm:

  • hapësirë;
  • hapësirë ​​që nuk prishet;
  • tabelimi;
  • kthim ngarkese;
  • përkthimi i linjës;
  • përkthimi i formularit (faqes).

Shembulli 3. Hiqni të gjitha hapësirat nga ana e majtë e vargut "paqe!" dhe bashkëngjitni vargun "Hello" në të.

String = abbr ("botë!"); String = "Përshëndetje"+String; Njoftoni (String);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e vargut "Përshëndetje botë!".

Shkurtesa

abbr(<Строка>) . Shkurt karakteret jo të rëndësishme në të djathtë të karakterit të parë domethënës në një varg.

Shembulli 4. Formoni nga vargjet "Përshëndetje" dhe "botë!" fraza "Përshëndetje botë!"

String = abbr("Përshëndetje")+" "+abbr("botë!"); Njoftoni (String);

Shkurtuar LP

Abbrl(<Строка>) . Prit karakteret jo të rëndësishme në të djathtë të karakterit të parë domethënës në varg, gjithashtu shkurton karakteret jo të rëndësishme në të majtë të karakterit të parë domethënës në varg. Ky funksion përdoret më shpesh se dy të mëparshmit, pasi është më i gjithanshëm.

Shembulli 5. Hiqni karakteret e parëndësishme majtas dhe djathtas në emër të palës tjetër.

Kontraktori = Directories.Contractors.FindBy Details("TIN", "0777121211"); ContractorObject = Kontraktor.GetObject(); ContractorObject.Description = Shkurtuar LP(ContractorObject.Description); ContractorObject.Write();

nje luan

Nje luan(<Строка>, <ЧислоСимволов>) . Merr karakteret e para të një vargu, numri i karaktereve specifikohet në parametër Numri i Personazheve.

Shembulli 6. Le të strukturës Punonjës përmbajnë emrin, mbiemrin dhe patronimin e punonjësit. Merrni vargun me mbiemrin dhe inicialet.

InitialName = Luani (Emri i Punonjësit, 1); Fillestar patronimik = Luani (Punonjësi. Patronimik, 1); Emri i plotë = Punonjës.Mbiemri + " " + Fillestar i Emrit + "." + Fillestar patronimik + ".";

Të drejtat

E drejte(<Строка>, <ЧислоСимволов>) . Merr karakteret e fundit të një vargu, numri i karaktereve specifikohet në parametër Numri i Personazheve. Nëse numri i specifikuar i karaktereve tejkalon gjatësinë e vargut, atëherë i gjithë vargu kthehet.

Shembulli 7. Le të shkruhet data në formatin "yyymmdd" në fund të ndryshores së vargut, merrni vargun me datën dhe kthejeni atë në lloj datën e.

String = "Data aktuale: 20170910"; StringData = Të drejtat (String, 8); Data = Data (Data e vargut);

e mërkurë

e mërkurë (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Merr një nënvarg nga vargu i kaluar në parametër Linjë, duke u nisur nga karakteri, numri i të cilit është specifikuar në parametër Numri fillestar dhe gjatësia i kalohet parametrit Numri i Personazheve. Numërimi i karaktereve në një varg fillon nga 1. Nëse parametri Numri fillestar specifikohet një vlerë më e vogël ose e barabartë me zero, atëherë parametri merr vlerën 1. Nëse parametri Numri i Personazheve nuk është specifikuar, janë zgjedhur karakteret deri në fund të vargut.

Shembulli 8. Lëreni variablin e vargut të përmbajë kodin e rajonit duke filluar nga pozicioni i nëntë, duhet ta merrni dhe ta shkruani në një rresht të veçantë.

String = "Rajoni: 99 Moskë"; Rajoni = Mesatar (Rresht, 9, 2);

Gjetja e faqes

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Kërkon për nënvargun e specifikuar në një varg, kthen numrin e pozicionit të karakterit të parë të nënvargut të gjetur. Konsideroni parametrat e këtij funksioni:

  • Linjë. Vargu i burimit;
  • SubstringSearch. Nënvargu i dëshiruar;
  • DirectionSearch. Përcakton drejtimin për të kërkuar një nënvarg në një varg. Mund të marrë vlera:
    • Drejtimi i kërkimit.Nga fillimi;
    • Drejtimi i kërkimit.Nga fundi;
  • Pozicioni fillestar. Përcakton pozicionin në vargun ku do të fillojë kërkimi;
  • Numri i hyrjes. Përcakton numrin e dukurive të nënvargut të kërkuar në vargun burimor.

Shembulli 9. Në rreshtin "Përshëndetje botë!" përcaktoni pozicionin e shfaqjes së fundit të karakterit "dhe".

PositionNumber = StrFind("Hello World!", "and", SearchDirection.From End); Njoftoni (Numri i Pozicionit);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e numrit të shfaqjes së fundit të simbolit "dhe" në ekran: 9.

VReg

VReg(<Строка>) . Konverton të gjithë karakteret e vargut të specifikuar në 1s 8 në shkronja të mëdha.

Shembulli 10. Konvertoni vargun "hello world!" me shkronja të mëdha.

StringVreg = Vreg ("përshëndetje botë!"); Raporti (StringVreg);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e vargut "HELLO WORLD!"

HReg

HReg(<Строка>) . Konverton të gjithë karakteret e vargut të specifikuar në 1s 8 në shkronja të vogla.

Shembulli 11. Konvertoni vargun "HELLO WORLD!" me shkronja të vogla.

StringNreg = NReg("HELLO WORLD!"); Raporti (StringVreg);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e vargut "përshëndetje botë!"

Treg

Treg(<Строка>) . Konverton një varg si më poshtë: karakteri i parë i çdo fjale konvertohet në shkronja të mëdha, karakteret e mbetura të fjalës konvertohen në shkronja të vogla.

Shembulli 12. Shkruani shkronjat e para të fjalëve në vargun "hello world!".

StringTreg = TReg ("përshëndetje botë!"); Raporti (StringTreg);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e vargut "Hello World!"

Simboli

Simboli (<КодСимвола>) . Merr një karakter nga kodi i tij Unicode.

Shembulli 13. Shtoni majtas dhe djathtas rreshtit "Hello World!" simboli ★

StringWithStars = Karakter ("9733")+"Përshëndetje Botë!" + Karakter ("9733"); Raporti (StringWithStars);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e vargut "★Hello World!★"

Kodi i simboleve

Kodi i simbolit (<Строка>, <НомерСимвола>) . Merr kodin e karakterit Unicode nga vargu i specifikuar në parametrin e parë, i vendosur në pozicionin e specifikuar në parametrin e dytë.

Shembulli 14. Gjeni kodin e karakterit të fundit në vargun "Hello World!".

String = "Përshëndetje Botë!"; Kodi i Karakterit =Kodi i Karakterit (String, StrLength (String)); Njoftoni (Kodi i Karakterit);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e kodit të simbolit "!" - 33.

Linjë bosh

Linja e zbrazët (<Строка>) . Kontrollon nëse vargu përbëhet vetëm nga karaktere jo të rëndësishme, domethënë nëse është bosh.

Shembulli 15. Kontrolloni nëse vargu është bosh dhe përbëhet nga tre hapësira.

Empty = EmptyString(" "); Raporti (bosh);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e fjalës "Po" (shprehja e vargut të një vlere boolean E vërtetë).

StrReplace

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Gjen të gjitha dukuritë e nënvargut të kërkimit në vargun burimor dhe e zëvendëson atë me nënvargun zëvendësues.

Shembulli 16. Në rreshtin "Hello World!" zëvendësoni fjalën "Botë" me fjalën "Miq".

String = StrReplace("Hello World!", "World", "Friends"); Njoftoni (String);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e vargut "Përshëndetje miq!"

StrNumberRows

StrNumri i linjave(<Строка>) . Ju lejon të numëroni numrin e rreshtave në një varg me shumë rreshta. Për të kaluar në një rresht të ri në 1s 8, përdoret simboli PS(karakteri i furnizimit të linjës).

Shembulli 17. Përcaktoni numrin e rreshtave në tekst:
"Linja e parë
Rreshti i dytë
Linja e tretë"

Number = StrNumber of Lines("Rreshti i parë"+Simbolet.PS +"Rreshti i dytë"+Simbolet.PS +"Rreshti i tretë"); Raporti (Numri);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e numrit të rreshtave në tekst: 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . Merr një varg në një varg me shumë rreshta sipas numrit të tij. Numërimi i rreshtave fillon nga 1.

Shembulli 18. Merrni rreshtin e fundit në tekst:
"Linja e parë
Rreshti i dytë
Linja e tretë"

Tekst = "Rreshti i parë"+Personazhet.PS +"Rreshti i dytë"+Personazhet.PS +"Rreshti i tretë"; Linja e Fundit = StrGetLine(Tekst, StrNumber i rreshtave(Tekst)); Njoftoni (Rreshti i fundit);

Rezultati i ekzekutimit të këtij kodi do të jetë shfaqja e rreshtit "Rreshti i tretë".

StrNumberOccurrences

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) . Rikthen numrin e dukurive të nënvargut të specifikuar në një varg. Funksioni është i ndjeshëm ndaj shkronjave të vogla.

Shembulli 19. Përcaktoni sa herë shkronja “c” hyn në rreshtin “Rreshtat në 1s 8.3 dhe 8.2”, pavarësisht nga rasti i saj.

String = "Linjat në 1s 8.3 dhe 8.2"; Numri i Ndodhive = StrNumri i Ndodhive(Vreg(String), "C"); raporti (numri i dukurive);

Rezultati i ekzekutimit të këtij kodi do të shfaq numrin e dukurive në ekran: 2.

Faqja Fillon Nga

StrBeginsFrom(<Строка>, <СтрокаПоиска>) . Kontrollon nëse vargu i dhënë në parametrin e parë fillon me vargun në parametrin e dytë.

Shembulli 20. Përcaktoni nëse TIN-i i palës tjetër të zgjedhur fillon me numrin 1. Lëreni variablin kundërpalë Kundërpalët.

TIN = Kontraktori.TIN; StartsCUnits = StrStartsC(TIN, "1"); Nëse FillonFROM1 Pastaj //Kodi juaj EndIf;

Faqja përfundon në

StrendsOn(<Строка>, <СтрокаПоиска>) . Kontrollon nëse vargu i kaluar në parametrin e parë përfundon me vargun në parametrin e dytë.

Shembulli 21. Përcaktoni nëse TIN-i i palës tjetër të zgjedhur përfundon me numrin 2. Le të jetë variabli kundërpalë lidhja me elementin e drejtorisë ruhet Kundërpalët.

TIN = Kontraktori.TIN; Përfundon me dy = Str mbaron me (TIN, "2"); Nëse përfundon me dy atëherë //Kodi juaj EndIf;

Ndarja e faqeve

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Ndan një varg në pjesë sipas karaktereve të përcaktuara kufizuese dhe shkruan vargjet që rezultojnë në një grup. Parametri i parë ruan vargun origjinal, parametri i dytë përmban vargun që përmban ndarësin, parametri i tretë tregon nëse vargjet boshe duhet të shkruhen në grup (si parazgjedhje E vërtetë).

Shembulli 22. Supozoni se kemi një varg që përmban numra të ndarë me simbolin ";", merrni një varg numrash nga vargu.

Vargu = "1; 2; 3"; Array = StrSplit(String, ";"); Për Numërim = 0 Nga Array.Sasia() - 1 Përpjekje cikli Array[Numërimi] = Numri(Ablp(Array[Numërimi])); Array përjashtimi[W] = 0; EndTry EndCycle;

Si rezultat i ekzekutimit, do të merret një grup me numra nga 1 në 3.

StrConnect

StrConnect(<Строки>, <Разделитель>) . Konverton një grup vargjesh nga parametri i parë në një varg që përmban të gjithë elementët e grupit duke përdorur ndarësin e specifikuar në parametrin e dytë.

Shembulli 23. Duke përdorur grupin e numrave nga shembulli i mëparshëm, merrni vargun origjinal.

Për Numërimin = 0 Nga Array.Sasia() - 1 Vargu i ciklit[Numërimi] = String(Array[Numërimi]); Cikli i Fundit; String = StrConnect(Array, "; ");

Artikujt kryesorë të lidhur