Korvaa rivin 1c ensimmäinen merkki. Uusia toimintoja merkkijonojen käsittelyyn. Merkkien vertailua keskenään

String-tyyppi löytyy kaikista ohjelmointikielistä. Se on primitiivinen, ja 1C:ssä on monia toimintoja sen kanssa työskentelemiseen. Tässä artikkelissa tarkastellaan yksityiskohtaisesti erilaisia ​​​​tapoja työskennellä merkkijonotyyppien kanssa versioissa 1C 8.3 ja 8.2 esimerkkien avulla.

Linja

Minkä tahansa tyyppisen muuttujan muuttamiseksi merkkijonoksi on olemassa samanniminen funktio "String()". Syöttöparametri on itse muuttuja, jonka merkkijonoesitys on hankittava.

String(False) // palauttaa "Ei"
String(12345) // palauttaa "12 345"
Merkkijono(NykyinenPäiväys()) //"21/07/2017 11:55:36"

On mahdollista muuntaa paitsi primitiiviset tyypit merkkijonoksi, myös muita, esimerkiksi hakemistojen ja asiakirjojen elementtejä.

SokrLP, SokrL, SokrP

Näiden funktioiden syöttöparametrit ovat merkkijonotyyppisiä muuttujia. Toiminnot poistavat merkityksettömät merkit (välilyönnit, rivinvaihdot jne.): vasemmalta ja oikealta puolelta, vain vasemmalta puolelta ja vain oikealta.

Lyhenne(" Välilyönnit poistetaan molemmilta puolilta ") // "Tyhjät poistetaan molemmilta puolilta"
Lyhenne(" Välilyönnit molemmilta puolilta poistetaan ") // " Vasemmalla olevat välilyönnit poistetaan "
Lyhenne(" Välilyönnit molemmilta puolilta poistetaan ") // " Oikeanpuoleiset välilyönnit poistetaan"

Leo, oikea, keskikokoinen

Näiden toimintojen avulla voit leikata osan merkkijonosta. "Left()"-funktio palauttaa osan merkkijonosta sen vasemmalta puolelta määritetyn pituuden verran. "Right()"-funktio on samanlainen, mutta rajaa oikealta. "Avg()"-funktiolla voit määrittää sen merkin numeron, josta rivi valitaan, ja sen pituuden.

Lev("merkkijonomuuttuja", 4) // palauttaa "Str"
Right("merkkijonomuuttuja", 7) // palauttaa "muuttujan"
Medium("merkkijonomuuttuja", 2, 5) // palauttaa "troko"

Vahvuus

Funktio määrittää merkkijonomuuttujan sisältämien merkkien määrän.

StrLength("Word") // suorituksen tulos on numero 5

löytö

Funktio mahdollistaa merkkijonon osan etsimisen merkkijonomuuttujasta. Palautusarvo on numero, joka näyttää löydetyn merkkijonon alun sijainnin. Jos vastaavuutta ei löydy, palautetaan nolla.

Huomaa, että haussa kirjainkoolla on merkitystä. Jos alkuperäisessä merkkijonossa on useampi kuin yksi hakuosamerkkijono, funktio palauttaa ensimmäisen esiintymän alun.

Find("yksi, kaksi, yksi, kaksi, kolme", ​​"kaksi") //-funktio palauttaa luvun 6

Tyhjä rivi

Tämän toiminnon avulla voit määrittää, onko merkkijono tyhjä. Pieniä merkkejä, kuten välilyöntiä, vaunun palautusta ja muita ei oteta huomioon.

EmptyString("Pupkin Vasily Ivanovich") //-funktio palauttaa arvon False
EmptyString(" ") //-funktio palauttaa arvon True

VReg, NReg, TReg

Nämä toiminnot ovat erittäin hyödyllisiä, kun verrataan ja muunnetaan merkkijonomuuttujia. "Vreg()" palauttaa alkuperäisen merkkijonon isoilla kirjaimilla, "HPreg()" pienillä kirjaimilla ja "TReg()" muotoilee sen siten, että jokaisen yksittäisen sanan ensimmäinen merkki kirjoitetaan isolla ja kaikki seuraavat merkit isoilla kirjaimilla.

VReg("GENERAL DIRECTOR") // palauttaa arvon - "TOIMITTUSJOHTAJA"
NReg("CEO DIRECTOR") // palautusarvo - "CEO"
TREG ("CEO DIRECTOR") // palautusarvo - "pääjohtaja"

Sivunvaihto

Tämä toiminto on analoginen tekstieditorien korvaamiseen. Sen avulla voit korvata yhden merkin tai merkkijoukon toisella merkkijonomuuttujissa.

StrReplace("punainen, valkoinen, keltainen", ","", ";") // palauttaa "punaisen; valkoinen; keltainen"

StrNumberLines

Funktiolla voit määrittää rivien lukumäärän, jotka erotetaan rivinvaihdoilla tekstimuuttujassa.

Alla olevan esimerkin silmukka käy läpi kolme kierrosta, koska LineNumberRow-funktio palauttaa arvon 3:

Ind = 1 merkkijonojen StrNumberilla ("Line1" + Symbols.PS + "Line2" + Symbols.PS + "Line3") Cycle
<тело цикла>
EndCycle;

StrGetString

Tämä toiminto toimii monirivisen tekstin kanssa samalla tavalla kuin edellinen. Sen avulla voit saada tietyn merkkijonon tekstimuuttujasta.

StrGetString("merkkijono1" + merkit.PS + "merkkijono2" + merkit.PS + "merkkijono3", 2) // palauttaa "String2"

PageNumberOccurrences

Funktio laskee merkin tai osamerkkijonon esiintymisten määrän hakumerkkijonossa.

StrNumberAttachments("a;b;c;d; ", ";") //-funktio palauttaa luvun 4

Symboli ja symbolikoodi

Näiden toimintojen avulla voit saada merkin sen koodilla Unicode-koodauksessa sekä määrittää tämän koodin itse merkin perusteella.

SymbolCode("A") //-funktio palauttaa luvun 1 040
CharacterCode(1040) //-funktio palauttaa "A"

Yleisiä tehtäviä jousille työskennellessä

Merkkijonojen ketjuttaminen

Useiden merkkijonojen yhdistämiseksi (katenoinnin suorittamiseksi) riittää, että käytät summausoperaattoria.

"Line 1" + "Line 2" // kahden rivin lisäämisen tulos on "Line 1 Line 2"

Tyyppi muunnos

Tyypin muuntamiseen merkkijonoksi, esimerkiksi linkin hakemistoelementtiin, numeroon jne., riittää "String()"-funktion käyttäminen. Funktiot, kuten "ScrLP()" muuntaa myös muuttujat merkkijonoksi, mutta välittömästi leikkaamalla merkityksettömät merkit pois.

String(1000) // palauttaa "1 000"

Huomaa, että kun numero muunnetaan merkkijonoksi, ohjelma lisäsi automaattisesti välilyönnin, joka erottaa tuhannen. Tämän välttämiseksi voit käyttää seuraavia rakenteita:

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

String(Format(1000,"HG=")) // palauttaa "1000"

Lainaukset merkkijonossa

Melko usein joudut käsittelemään tarvetta määrittää merkkijonomuuttujassa lainausmerkit. Tämä voi olla joko konfiguraattoriin kirjoitettu pyyntöteksti tai pelkkä muuttuja. Tämän ongelman ratkaisemiseksi sinun tarvitsee vain asettaa kaksi lainausmerkkiä.

Header = String("Horns and Hooves LLC - se on me!") // palauttaa "Horns and Hooves LLC - se on me!"

Monirivi, rivinvaihto

Jos haluat luoda monirivistä tekstiä, lisää siihen rivinvaihdot (Symbols.PS).

MultilineText = "Ensimmäinen rivi" + Symbols.PS + "Toinen rivi"

Kuinka poistaa välilyöntejä

Poistaaksesi välilyönnit oikealta tai vasemmalta, voit käyttää funktiota "ScrAP()" (sekä "ScrL()" ja "ScrP()"):

StringNoSpaces = Lyhenne(" Monet kirjaimet ") // funktio palauttaa arvon "Monet kirjaimet"

Jos sinun on poistettava katkeamattomat välilyönnit luvun muuntamisen jälkeen merkkijonoksi, käytä seuraavaa rakennetta:

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

Ohjelmoijat käyttävät usein myös seuraavaa rakennetta, jonka avulla voit poistaa tai korvata toisella merkillä kaikki välilyönnit tekstimuuttujassa:

StringNoSpaces = StrReplace("hello","") // palauttaa sanan "hello"

Merkkien vertailua keskenään

Voit verrata termejä tavallisella yhtäläisyysmerkillä. Vertailu on kirjainkoon erottelukykyä.

"Hello" = "hello" // palauttaa False
"Hello" = "Hei" // palauttaa True
"Hei" = "Hyvästi" // palauttaa False

Rivit 1C 8.3:ssa sisäänrakennetulla kielellä 1C edustavat primitiivityypin arvoja Linja. Tämän tyyppiset arvot sisältävät mielivaltaisen pituisen Unicode-merkkijonon. Merkkijonotyyppiset muuttujat ovat joukko merkkejä lainausmerkkien sisällä.

Esimerkki 1. Luodaan merkkijonomuuttuja tekstillä.

StringVariable = "Hei maailma!";

Toiminnot merkkijonojen käsittelyyn 1s:ssä 8.3

Tämä osio tarjoaa tärkeimmät toiminnot, joiden avulla voit muuttaa rivejä 1c:ssä tai analysoida niiden sisältämiä tietoja.

Vahvuus

Vahvuus(<Строка>) . Palauttaa parametrina välitetyn merkkijonon sisältämien merkkien määrän.

Esimerkki 2. Lasketaan merkkien määrä rivillä "Hei maailma!"

String = "Hei maailma!"; Merkkien lukumäärä = Stringth(merkkijono); Raportti(numeromerkit);

Tämän koodin suorittamisen tuloksena näkyy rivin merkkien määrä: 11.

AbbrL

AbbrL(<Строка>) . Leikkaa ei-merkittävät merkit merkkijonon ensimmäisen merkitsevän merkin vasemmalle puolelle.
Pienet hahmot:

  • tilaa;
  • rikkoutumaton tila;
  • taulukointi;
  • kuljetuksen paluu;
  • rivin käännös;
  • lomakkeen käännös (sivu).

Esimerkki 3. Poista kaikki välilyönnit rivin "world!" ja lisää siihen rivi "Hei".

String = Lyhenne("maailma!"); String = "Hei"+merkkijono; Raportti(merkkijono);

Tämän koodin suorittamisen seurauksena näytölle tulee rivi "Hei maailma!".

Lyhennettynä

Abbr(<Строка>) . Leikkaa ei-merkittävät merkit merkkijonon ensimmäisen merkitsevän merkin oikealle puolelle.

Esimerkki 4. Lomake riveistä "Hei" ja "rauhaa!" lause "Hei maailma!"

Rivi = Lyhenne("Hei ")+" "+ Lyhenne(" maailma!"); Raportti(merkkijono);

AbbrLP

AbbrLP(<Строка>) . Leikkaa ei-merkittävät merkit merkkijonon ensimmäisen merkitsevän merkin oikealle puolelle ja leikkaa myös ei-merkittävät merkit merkkijonon ensimmäisen merkitsevän merkin vasemmalle puolelle. Tätä toimintoa käytetään useammin kuin kahta edellistä, koska se on universaali.

Esimerkki 5. Poista merkityksettömät merkit vasemmalta ja oikealta vastapuolen nimestä.

Vastapuoli = Hakemistot Vastapuolet.Etsi tietojen mukaan ("TIN", "0777121211"); AccountObject = Account.GetObject(); CounterpartyObject.Name = AbbrLP(CounterpartyObject.Name); AccountObject.Write();

Leijona

Leijona(<Строка>, <ЧислоСимволов>) . Hakee merkkijonon ensimmäiset merkit, merkkien määrä on määritetty parametrissa Merkkien määrä.

Esimerkki 6. Päästä sisään rakenne Työntekijä sisältää työntekijän etu-, suku- ja isänimen. Hanki merkkijono, jossa on sukunimi ja nimikirjaimet.

NimiAlkuperäinen = Lev(Työntekijä.Nimi, 1); Isännimi alkukirjain = Leijona (työntekijä. Isännimi, 1); FullName = Työntekijä.Sukunimi + " " + Etunimi + "." + Keskimmäinen alkukirjain + ".";

Oikein

oikein (<Строка>, <ЧислоСимволов>) . Hakee merkkijonon viimeiset merkit, parametrissa määritetyn määrän merkkejä Merkkien määrä. Jos määritetty merkkien määrä ylittää merkkijonon pituuden, palautetaan koko merkkijono.

Esimerkki 7. Kirjoita päivämäärä muodossa "vvvvkkpp" merkkijonomuuttujan loppuun, hanki päivämäärän sisältävä merkkijono ja muunna se tyypiksi Päivämäärä.

String = "Nykyinen päivämäärä: 20170910"; StringDate = Oikeudet(merkkijono, 8); Päivämäärä = Päivämäärä(StringDate);

keskiviikko

Keskiviikko(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Saa alimerkkijonon parametrina välitetystä merkkijonosta Linja, alkaen merkistä, jonka numero on määritetty parametrissa AlkuperäinenNumber ja parametriin siirretty pituus Merkkien määrä. Merkkien numerointi rivillä alkaa 1:stä. Jos parametrissa AlkuperäinenNumber arvo on pienempi tai yhtä suuri kuin nolla, niin parametri saa arvon 1. Jos parametri Merkkien määrä ei ole määritetty, valitaan merkit rivin loppuun asti.

Esimerkki 8. Anna yhdeksännestä paikasta alkavan merkkijonomuuttujan sisältää aluekoodin, sinun tulee hankkia se ja kirjoittaa se erilliselle riville.

String = "Alue: 99 Moskova"; Alue = Keskiarvo(merkkijono, 9, 2);

Sivuhaku

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Etsii määritettyä osamerkkijonoa merkkijonosta ja palauttaa löydetyn alimerkkijonon ensimmäisen merkin paikkanumeron. Katsotaanpa tämän funktion parametreja:

  • Linja. lähde merkkijono;
  • Hae alimerkkijonoa. Etsi osamerkkijono;
  • Hakusuunta. Määrittää suunnan, jolla alimerkkijonoa etsitään merkkijonosta. Voi ottaa arvoja:
    • Hakusuunta.Alusta;
    • Haku.Loppusuunta;
  • Alkuasema. Määrittää paikan merkkijonossa, josta haku alkaa;
  • Esiintymien lukumäärä. Määrittää haetun alimerkkijonon esiintymisnumeron lähdemerkkijonossa.

Esimerkki 9. Rivillä "Hei maailma!" Määritä "ja"-merkin viimeisen esiintymän sijainti.

PositionNumber = StrFind("Hei maailma!", "ja", SearchDirection.End); Raportti(PositionNumber);

Tämän koodin suorittamisen tuloksena näytetään "ja"-symbolin viimeisen esiintymisen numero: 9.

VReg

VReg(<Строка>) . Muuntaa kaikki määritetyn merkkijonon 1s8:ssa isot kirjaimet.

Esimerkki 10: Muunna merkkijono "hei maailma!" isoihin kirjaimiin.

StringVreg = VReg("hei maailma!"); Raportti(StringVreg);

Tämän koodin suorittamisen seurauksena näyttöön tulee rivi "HELLO WORLD!"

NReg

NReg(<Строка>) . Muuntaa kaikki 1s8:ssa määritetyn merkkijonon merkit pieniksi kirjaimiksi.

Esimerkki 11: Muunna merkkijono "HELLO WORLD!" pieniin kirjaimiin.

StringNreg = NReg("HELLO MAAILMA!"); Raportti(StringVreg);

Tämän koodin suorittamisen tuloksena tulee näyttöön rivi "hello world!"

Treg

Treg(<Строка>) . Muuntaa merkkijonon seuraavasti: jokaisen sanan ensimmäinen merkki muunnetaan isoiksi, sanan muut merkit pieniksi kirjaimiksi.

Esimerkki 12: Kirjoita isot kirjaimet rivillä "hei maailma!"

StringTreg = TReg("hei maailma!"); Raportti(StringTreg);

Tämän koodin suorittamisen tuloksena tulee näkyviin rivi "Hello World!"

Symboli

Symboli(<КодСимвола>) . Hakee merkin Unicod-koodillaan.

Esimerkki 13. Lisää vasen ja oikea rivi "Hello World!" symboli ★

StringWithStars = Symboli("9733")+"Hei maailma!"+Symboli("9733"); Raportti(StringWithStars);

Tämän koodin suorittamisen seurauksena näyttöön tulee rivi ”★Hello World!★”

Symbolikoodi

SymbolCode(<Строка>, <НомерСимвола>) . Hakee Unicode-merkkikoodin ensimmäisessä parametrissa määritetystä merkkijonosta, joka sijaitsee toisessa parametrissa määritetyssä paikassa.

Esimerkki 14. Selvitä "Hei maailma!"-rivin viimeisen merkin koodi.

String = "Hei maailma!"; Merkkikoodi = Merkkikoodi(merkkijono, vahvuus(merkkijono)); Ilmoita (merkkikoodi);

Tämän koodin suorittamisen seurauksena näyttöön tulee symbolikoodi "!" - 33.

Tyhjä rivi

Tyhjä rivi(<Строка>) . Tarkistaa, sisältääkö merkkijono vain merkityksettömiä merkkejä, eli onko se tyhjä.

Esimerkki 15. Tarkista, onko kolmesta välilyönnistä koostuva merkkijono tyhjä.

Tyhjä = EmptyString(" "); Raportti(tyhjä);

Tämän koodin suorittamisen tuloksena tulee näyttöön sana "Yes" (loogisen arvon merkkijonolauseke Totta).

Sivunvaihto

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Etsii kaikki haun alimerkkijonon esiintymät lähdemerkkijonosta ja korvaa sen korvaavalla alimerkkijonolla.

Esimerkki 16. Rivillä "Hei maailma!" korvaa sana "rauha" sanalla "ystävät".

String = StrReplace("Hei maailma!", "Maailma", "Ystävät"); Raportti(merkkijono);

Tämän koodin suorittamisen tuloksena tulee näkyviin rivi "Hei ystävät!"

StrNumberLines

StrNumberRow(<Строка>) . Voit laskea monirivisen merkkijonon rivien määrän. Jos haluat siirtyä uudelle riville 1s 8:ssa, käytä symbolia PS(rivin uusi merkki).

Esimerkki 17. Määritä tekstin rivien määrä:
"Ensimmäinen linja
Toinen linja
Kolmas rivi"

Numero = StrNumberString("Ensimmäinen rivi"+Merkit.PS +"Toinen rivi"+Symbolit.PS +"Kolmas rivi"); Raportti(numero);

Tämän koodin suorittamisen tulos on tekstin rivien lukumäärän näyttö: 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . Hakee rivin monirivisessä merkkijonossa sen numeron perusteella. Rivien numerointi alkaa 1:stä.

Esimerkki 18. Hae tekstin viimeinen rivi:
"Ensimmäinen linja
Toinen linja
Kolmas rivi"

Teksti = "Ensimmäinen rivi" + Symbolit + "Toinen rivi" + "Kolmas rivi"; Viimeinen rivi = StrGetRow(teksti, StrNumberLines(teksti)); Raportti(LastLine);

Tämän koodin suorittamisen tuloksena tulee näyttöön rivi "Kolmas rivi".

PageNumberOccurrences

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) . Palauttaa määritetyn alimerkkijonon esiintymisten määrän merkkijonossa. Toiminto on isot ja pienet kirjaimet erotteleva.

Esimerkki 19. Määritä, kuinka monta kertaa kirjain "c" esiintyy rivillä "Lines in 1s 8.3 and 8.2" riippumatta sen kirjaimesta.

Line = "Rivit 1s 8.3 ja 8.2"; NumberOccurrences = StrNumberOccurrences(Vreg(String), "C"); Raportti(Tapahtumien lukumäärä);

Tämän koodin suorittamisen tulos näyttää esiintymien lukumäärän: 2.

Sivu alkaa kanssa

StrStartsWith(<Строка>, <СтрокаПоиска>) . Tarkistaa, alkaako ensimmäisessä parametrissa välitetty merkkijono toisen parametrin merkkijonolla.

Esimerkki 20. Selvitä, alkaako valitun vastapuolen TIN numerolla 1. Anna muuttuja Vastapuoli Vastapuolet.

TIN = vastapuoli.TIN; StartsUNits = StrStartsWith(TIN, "1"); If Alkaa yksiköillä Then //Koodisi EndIf;

PageEndsOn

StrEndsWith(<Строка>, <СтрокаПоиска>) . Tarkistaa, päättyykö ensimmäisessä parametrissa välitetty merkkijono toisen parametrin merkkijonoon.

Esimerkki 21. Selvitä, päättyykö valitun vastapuolen TIN numeroon 2. Anna muuttuja Vastapuoli viittaus hakemistoelementtiin tallennetaan Vastapuolet.

TIN = vastapuoli.TIN; EndsWithTwo = StrEndsWith(TIN, "2"); If EndsInTwo Then //Koodisi EndIf;

Sivujako

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Jakaa merkkijonon osiin käyttämällä määritettyjä erotinmerkkejä ja kirjoittaa tuloksena olevat merkkijonot taulukkoon. Ensimmäinen parametri tallentaa lähdemerkkijonon, toinen sisältää erottimen sisältävän merkkijonon, kolmas osoittaa, tuleeko taulukkoon kirjoittaa tyhjiä merkkijonoja (oletuksena Totta).

Esimerkki 22. Olkoon merkkijono, joka sisältää numeroita erotettuina merkillä “;”, hanki merkkijonosta joukko numeroita.

Merkkijono = "1; 2; 3"; Array = StrDivide(merkkijono, ";"); For Count = 0 By Array.Quantity() - 1 Cycle Attempt Array[Count] = Luku(AbbrLP(Matriisi[Laskuri])); Poikkeustaulukko[Sch] = 0; EndAttemptsEndCycle;

Suorituksen tuloksena saadaan taulukko, jossa on numeroita 1-3.

PageConnect

StrConnect(<Строки>, <Разделитель>) . Muuntaa ensimmäisen parametrin merkkijonojoukon merkkijonoksi, joka sisältää kaikki taulukon elementit erotettuna toisessa parametrissa määritetyllä erottimella.

Esimerkki 23. Hae alkuperäinen merkkijono käyttämällä edellisen esimerkin numerotaulukkoa.

Tilille = 0 Array.Määrä() - 1 Cycle Joukko[Toimi] = Merkkijono(Matriisi[Toimi]); EndCycle; Rivi = StrConnect(Matriisi, "; ");

Merkkijono on yksi primitiivisistä tietotyypeistä 1C:Enterprise 8 -järjestelmissä linja sisältää tekstiä.

Kirjoita muuttujan arvot linja ovat lainausmerkeissä. Useita tämän tyyppisiä muuttujia voidaan lisätä.

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

Lopulta Per3 tulee tarkoittamaan" Sana 1 Sana 2″.

Lisäksi 1C:Enterprise 8 -järjestelmät tarjoavat toimintoja merkkijonojen kanssa työskentelemiseen. Katsotaanpa tärkeimpiä:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — toiminto on suunniteltu näyttämään valintaikkuna, jossa käyttäjä voi määrittää tyypin muuttujan arvon Linja. Parametri <Строка> on pakollinen ja sisältää sen muuttujan nimen, johon syötetty merkkijono kirjoitetaan. Parametri <Подсказка> valinnainen - tämä on valintaikkunan otsikko. Parametri <Длина> valinnainen, näyttää syötemerkkijonon enimmäispituuden. Oletusarvo on nolla, mikä tarkoittaa rajoittamatonta pituutta. Parametri <Многострочность> valinnainen. Määrittää monirivisen tekstinsyöttötilan: True—monirivinen tekstinsyöttö rivierottimilla; False - kirjoita yksinkertainen merkkijono.

Voit kirjoittaa merkkijonon, jos tiedät Unicoden merkkikoodin:

Symboli(<КодСимвола>) — koodi syötetään numerona.

Kirjain= Symboli(1103) ; // Minä

On myös käänteinen toiminto, jonka avulla voit selvittää symbolin koodin.

SymbolCode(<Строка>, <НомерСимвола>) — palauttaa määritetyn merkin Unicode-numeron numerona.

Tekstin kirjainten muunnostoiminnot:

VReg(<Строка>) — Muuntaa kaikki merkkijonon merkit isoiksi kirjaimiksi.

NReg(<Строка>) — Muuntaa kaikki merkkijonon merkit pieniksi kirjaimille.

Treg(<Строка>) — muuntaa kaikki merkkijonon merkit otsikon kirjainkoon. Eli kaikkien sanojen ensimmäiset kirjaimet muunnetaan isoiksi ja loput kirjaimet pieniksi.

Toiminnot merkkien etsimiseen ja korvaamiseen merkkijonossa:

Löytö(<Строка>, <ПодстрокаПоиска>) — löytää haun alimerkkijonon esiintymän merkkinumeron. Esimerkiksi:

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

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — etsii hakuosamerkkijonon esiintymän merkkinumeron, esiintymisnumero ilmoitetaan vastaavassa parametrissa. Tässä tapauksessa haku alkaa merkillä, jonka numero on määritetty parametrissa Alkuasema. Haku on mahdollista merkkijonon alusta tai lopusta. Esimerkiksi:

Numero4 esiintymät = Str Etsi ( "Puolustavuus", "tietoa" ,Hakusuunta. Alusta, 1, 4); // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – etsii kaikki haun alimerkkijonon esiintymät lähdemerkkijonosta ja korvaa sen korvaavalla alimerkkijonolla.

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

Tyhjä rivi(<Строка>) – tarkistaa merkkijonon merkittävien merkkien varalta. Jos merkittäviä merkkejä ei ole tai merkkejä ei ole ollenkaan, arvo palautetaan Totta. Muuten - Valehdella.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – Laskee haun alimerkkijonon esiintymisten määrän lähdemerkkijonossa.

StrNumberOccurrences ( "Opiskele, opiskele ja vielä kerran opiskele", "tutkimus" , "" ) ; // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — korvaa parametrit merkkijonoksi numerolla. Rivin tulee sisältää korvausmerkit, joiden muoto on "%1..%N". Merkkien numerointi alkaa 1. Jos parametrin arvo Määrittelemätön, tyhjä merkkijono korvataan.

StrTemplate ( "Parametri 1 = %1, Parametri 2 = %2", "1" , "2" ) ; // Parametri 1 = 1, parametri 2 = 2

Merkkijonon muunnosfunktiot:

Leijona(<Строка>, <ЧислоСимволов>) – palauttaa merkkijonon ensimmäiset merkit.

oikein (<Строка>, <ЧислоСимволов>) – palauttaa merkkijonon viimeiset merkit.

Keskiviikko(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – palauttaa pituuden merkkijonon<ЧислоСимволов>, alkaen symbolista<НачальныйНомер>.

AbbrL(<Строка>) leikkaa ei-merkittävät merkit merkkijonon ensimmäisen merkitsevän merkin vasemmalle puolelle.

Abbr(<Строка>) — leikkaa pois merkityksettömät merkit rivin viimeisen merkitsevän merkin oikealta puolelta.

AbbrLP(<Строка>) – katkaisee merkityksettömät merkit rivin ensimmäisen merkitsevän merkin vasemmalta puolelta ja rivin viimeisen merkitsevän merkin oikealta puolelta.

StrGetString(<Строка>, <НомерСтроки>) – Hakee monirivisen merkkijonon numeron mukaan.

Muut ominaisuudet:

Vahvuus(<Строка>) – palauttaa merkkijonon merkkien määrän.

StrNumberRow(<Строка>) – palauttaa monirivisen merkkijonon rivien määrän. Riviä pidetään uutena, jos se erotetaan edellisestä rivinvaihtomerkillä.

StrCompare(<Строка1>, <Строка2> ) – vertaa kahta merkkijonoa isot ja pienet kirjaimet huomioimatta. Funktio toimii kuin objekti Arvojen vertailu. Palautukset:

  • 1 - jos ensimmäinen rivi on suurempi kuin toinen
  • -1 - jos toinen rivi on suurempi kuin ensimmäinen
  • 0 - jos merkkijonot ovat yhtä suuret

StrCompare("Ensimmäinen rivi" , "Toinen rivi" ) ; // 1

Toteutettu versiossa 8.3.6.1977.

Olemme laajentaneet funktioiden joukkoa, jotka on suunniteltu toimimaan merkkijonojen kanssa. Teimme tämän tarjotaksemme sinulle kehittyneempiä työkaluja merkkijonotietojen jäsentämiseen. Uudet toiminnot ovat käteviä ja hyödyllisiä tekstianalyysin teknisissä tehtävissä. Tehtävissä, jotka liittyvät muotoiltua dataa sisältävän tekstin jäsentämiseen. Tämä voi olla joidenkin laitteelta vastaanotettujen tiedostojen analyysi tai esimerkiksi teknologisen lokin analyysi.

Voit suorittaa kaikki toiminnot, jotka suorittavat uusia toimintoja aiemmin. Käyttämällä enemmän tai vähemmän monimutkaisia ​​algoritmeja, jotka on kirjoitettu sisäänrakennetulla kielellä. Siksi uudet toiminnot eivät anna sinulle mitään perustavanlaatuisia uusia ominaisuuksia. Niiden avulla voit kuitenkin vähentää koodin määrää ja tehdä koodista yksinkertaisemman ja ymmärrettävämmän. Lisäksi niiden avulla voit nopeuttaa toimien suorittamista. Koska alustassa toteutetut toiminnot toimivat tietysti nopeammin kuin vastaava sisäänrakennetulla kielellä kirjoitettu algoritmi.

Muotoilufunktio StrTemplate()

Tämä funktio korvaa parametrit merkkijonoksi. Tarve tällaiselle muunnokselle tulee usein esille esimerkiksi varoitusviestejä näytettäessä. Tämän funktion syntaksi on seuraava:

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

<Шаблон>- tämä on merkkijono, johon sinun on korvattava parametrien esitykset.

<Значение1> , ... <Значение10>- nämä ovat parametreja (enintään kymmenen), joiden esitykset on korvattava merkkijonoon.

Osoittaaksesi tietyn paikan mallissa, jossa haluat suorittaa korvauksen, sinun on käytettävä merkkejä, kuten %1, ... %10. Malliin sisältyvien merkkien määrän ja arvoja sisältävien parametrien määrän on vastattava.

Esimerkiksi tällaisen operaattorin suorittamisen tulos:

tulee rivi:

Tietovirhe rivillä 2 (päivämäärä vaaditaan)

Funktio merkkijonojen kanssa työskentelemiseen StrCompare()

Tämä funktio vertaa kahta merkkijonoa isot ja pienet kirjaimet erottelemalla. Esimerkiksi näin:

Voit suorittaa saman toiminnon aiemmin käyttämällä Value Comparison -objektia:

Uuden ominaisuuden käyttäminen näyttää kuitenkin helpommalta. Ja tämän lisäksi toiminto, toisin kuin Value Comparison -objekti, toimii sekä ohuessa että web-asiakkaassa.

Funktiot merkkijonojen käsittelyyn StrStartsWith(), StrEndsAt()

Nämä funktiot määrittävät, alkaako merkkijono määritetyllä osamerkkijonolla vai päättyykö merkkijono määritettyyn osamerkkijonoon. Näiden toimintojen algoritmi ei ole vaikea toteuttaa sulautetulla kielellä, mutta niiden läsnäolo mahdollistaa puhtaamman ja ymmärrettävämmän koodin kirjoittamisen. Ja ne toimivat nopeammin.

Niitä on kätevä käyttää esimerkiksi If-lauseessa:

Toiminnot merkkijonojen StrDivide(), StrConnect() kanssa

Nämä funktiot jakavat merkkijonon osiin käyttämällä määritettyä erotinta. Tai päinvastoin, ne yhdistävät useita rivejä yhdeksi ja lisäävät valitun erottimen niiden väliin. Ne ovat käteviä lokien ja teknisten päiväkirjojen luomiseen tai analysointiin. Voit esimerkiksi helposti jäsentää teknologisen lokimerkinnän osiin, jotka soveltuvat jatkoanalyysiin:

Funktio merkkijonojen kanssa työskentelemiseen StrFind()

Vanhan Find()-funktion tilalle olemme ottaneet käyttöön uuden toiminnon, jolla on lisäominaisuuksia:

  • Hae eri suuntiin (alusta, lopusta);
  • Hae tietystä paikasta;
  • Hae esiintymää tietyllä numerolla (toinen, kolmas jne.).

Itse asiassa se kopioi vanhan toiminnon ominaisuudet. Tämä tehdään yhteensopivuuden säilyttämiseksi vanhempiin versioihin käännettyjen moduulien kanssa. On suositeltavaa, että et enää käytä vanhaa Find()-funktiota.

Alla on esimerkki uusien hakutoimintojen käyttämisestä. Käänteinen haku on hyödyllinen, kun tarvitset formalisoidun merkkijonon viimeisen fragmentin, kuten URL-osoitteen koko tiedostonimen. Ja etsiminen tietystä paikasta auttaa tapauksissa, joissa sinun on etsittävä tunnetusta fragmentista, ei koko riviltä.