1c keresse meg a karakterlánc második előfordulását. Új karakterlánc-függvények

1c keresse meg a karakterlánc második előfordulását.  Új karakterlánc-függvények
1c keresse meg a karakterlánc második előfordulását. Új karakterlánc-függvények

Speciális karakterek az 1C 8.3-ban - készlet speciális karakterek karakterlánc adattípusokhoz.

Tekintsük mindegyiket részletesebben.

Speciális karakterek az 1C-ben: VK, VTab, NPP, PS, PF, Tab

A speciális karakterek a "Karakterek" globális tulajdonság használatával hívhatók meg, például:

Szöveg = "Szöveg a tabulátor előtt" + Symbols.Tab + "tabulátor utáni szöveg";

Ingyenes 267 1C videóleckéket kaphat:

  • VC (CR) - kocsi vissza. A régi időkben a pontmátrixos vagy százszoros görgős nyomtatókon ezt a karakterkódot használták parancsként, amely visszaküldte a nyomtatófejet a sor elejére.
  • NSP (NBSp) - nem törő szóköz (gyakran látható numerikus karakterláncokban, például: 1000).
  • PS (LF) - Soremelés (LF - soremelés) - görgessen egy sorral lejjebb a dobot, a nyomtatófej ugyanott van.
  • PF (FF) - formátum fordítás. A lapot kiadja a nyomtató, a nyomtatás új lapról indul.
  • Tab (Tab) - tabulátor karakter. Vízszintes tabulátorok - a nyomtatáshoz a legközelebbi oszlopra való pozicionálás módja, valamilyen szám többszöröse (például 8, 16, 24 ...).
  • VTab (VTab) - függőleges táblázat. Hasonló a vízszinteshez, csak mi helyezkedünk el a vonalon. A nyomtatódob némi görgetését okozza (a nyomtatófej ugyanabban a helyzetben marad (oszlop)!)

A PS + VK egy olyan kombináció, amely két műveletet hajt végre: görgeti a dobot egy sorral, és visszahelyezi a nyomtatókocsit a sor elejére, amely megfelel annak, amit a felhasználó az Enter megnyomásával vár.

Ha elkezdi megtanulni az 1C programozást, javasoljuk a mi ingyenes tanfolyam(ne felejtsd el

A string az egyik primitív adattípus az 1C:Enterprise 8 rendszerekben. Típusú változók vonal szöveget tartalmaznak.

Változóértékek típusa vonal idézőjelek közé vannak zárva. Több változó ebből a típusbólösszecsukható.

Per1 = "1. szó" ;
Per2 = "2. szó" ;
Per3 = Per1 + " " + Per2 ;

Végül is Per3 számítani fog" Szó 1 Szó 2″.

Ezenkívül az 1C:Enterprise 8 rendszerek funkciókat biztosítanak a karakterláncokkal való munkavégzéshez. Fontolja meg a főbbeket:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — a függvény egy párbeszédpanel megjelenítésére szolgál, amelyben a felhasználó megadhatja egy típusú változó értékét Vonal. Paraméter <Строка> kötelező, és tartalmazza annak a változónak a nevét, amelybe a beírt karakterláncot írjuk. Paraméter <Подсказка> opcionális a párbeszédpanel címe. Paraméter <Длина> opcionális, a bemeneti karakterlánc maximális hosszát jelzi. Az alapértelmezett nulla, ami korlátlan hosszúságot jelent. Paraméter <Многострочность> választható. Meghatározza a többsoros szövegbeviteli módot: True – többsoros szövegbevitel sorelválasztókkal; False – Írjon be egy egyszerű karakterláncot.

Egy karakterlánc beírható, és a Unicode karakterkód ismeretében:

Szimbólum(<КодСимвола>) — A kód számként kerül beírásra.

Letter= Symbol(1103 ) ; // I

Van egy inverz függvény is, amely lehetővé teszi egy karakter kódjának kiderítését.

SymbolCode(<Строка>, <НомерСимвола>) — A megadott karakter Unicode-számát adja vissza számként.

Kis- és nagybetűk átalakító funkciói:

VReg(<Строка>) - A karakterlánc összes karakterét nagybetűvé alakítja.

HReg(<Строка>) - A karakterlánc összes karakterét kisbetűvé alakítja.

Treg(<Строка>) - a karakterlánc összes karakterét nagybetűvé alakítja. Vagyis az összes szó első betűit nagybetűvé, a többi betűt kisbetűvé alakítja.

Karakterek keresésének és cseréjének függvényei egy karakterláncban:

Megtalálja(<Строка>, <ПодстрокаПоиска>) - megkeresi a keresési részstring előfordulásának karakterszámát. Például:

Find ("String" , "eye" ) ; 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — megkeresi a keresési részstring előfordulásának karakterszámát, az előfordulási szám a megfelelő paraméterben van megadva. Ebben az esetben a keresés attól a karaktertől indul, amelynek száma a paraméterben van megadva Kezdőpozíció. A keresés a karakterlánc elejétől vagy végétől lehetséges. Például:

Number4 Entry= StrFind( "védekezés", "o" , Keresési irány. Először 1 , 4 ); 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Megkeresi a keresési részkarakterlánc összes előfordulását a forráskarakterláncban, és lecseréli a helyettesítő karakterláncra.

StrReplace("String" , "szem" , "" ) ; // Oldal

Üres sor (<Строка>) - ellenőrzi, hogy a karakterláncban vannak-e jelentős karakterek. Ha nincsenek jelentős karakterek, vagy egyáltalán nincsenek karakterek, akkor a rendszer az értéket adja vissza Igaz. Másképp - Fekszik.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – kiszámítja a keresési részkarakterlánc előfordulásának számát a forráskarakterláncban.

StrNumberOccurrences ( "Tanulj, tanulj és tanulj újra", "tanulmány" , "" ) ; 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — számmal helyettesíti a paramétereket a karakterláncban. A karakterláncnak tartalmaznia kell a következő formátumú helyettesítési jelzőket: "%1..%N". A markerek számozása 1-től kezdődik. Ha a paraméter értéke Határozatlan, az üres karakterlánc behelyettesítésre kerül.

StrPattern ( "1. lehetőség = %1, 2. lehetőség = %2", "1" , "2" ) ; // 1. paraméter = 1, 2. paraméter = 2

String konverziós függvények:

Egy oroszlán(<Строка>, <ЧислоСимволов>) visszaadja a karakterlánc első karaktereit.

Jobb(<Строка>, <ЧислоСимволов>) - a karakterlánc utolsó karaktereit adja vissza.

Szerda(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - egy hosszúságú karakterláncot ad vissza<ЧислоСимволов>karakterrel kezdve<НачальныйНомер>.

rövid(<Строка>) a nem szignifikáns karaktereket a karakterlánc első jelentős karakterétől balra csonkolja.

rövidítés(<Строка>) - levágja a jelentéktelen karaktereket a karakterlánc utolsó jelentős karakterétől jobbra.

Abbrl(<Строка>) - levágja a nem szignifikáns karaktereket a karakterlánc első jelentős karakterétől balra és a karakterlánc utolsó jelentős karakterétől jobbra.

StrGetString(<Строка>, <НомерСтроки>) – szám szerint lekéri a többsoros karakterlánc sztringjét.

Más funkciók:

Erősség(<Строка>) - a karakterláncban lévő karakterek számát adja vissza.

StrNumber of Lines(<Строка>) - egy többsoros karakterlánc sorainak számát adja vissza. Egy sor akkor tekinthető újnak, ha újsor karakter választja el az előző sortól.

StrCompare(<Строка1>, <Строка2> ) - érzéketlenül hasonlít össze két karakterlánc kis- és nagybetűket. A függvény objektumként működik Értékek összehasonlítása. Visszaküldések:

  • 1 - ha az első sor nagyobb, mint a második
  • -1 - ha a második sor nagyobb, mint az első
  • 0 - ha a karakterláncok egyenlőek

StrCompare("Első sor" , "Második sor" ) ; 1

A String típus minden programozási nyelvben megtalálható. Primitív, és az 1C-ben sok funkció van a vele való munkához. Ebben a cikkben közelebbről megvizsgáljuk különböző módokon dolgozzon a karakterlánctípusokkal az 1C 8.3 és 8.2 példákban.

Vonal

Bármilyen típusú változó karakterláncsá konvertálásához létezik az azonos nevű "String ()" függvény. A bemeneti paraméter maga a változó lesz, amelynek karakterlánc-reprezentációját kell megkapni.

String(False) // "Nem"-et ad vissza
String(12345) // „12 345”-et ad vissza
Karakterlánc(AktuálisDátum()) //"2017.07.21. 11:55:36"

Nemcsak primitív típusok, hanem egyéb, például könyvtárak és dokumentumok elemei is karakterláncsá konvertálhatók.

Rövidítve LP, rövidítve L, rövidítve P

Ezeknek a függvényeknek a bemeneti paraméterei karakterlánc típusú változók. A függvények eltávolítják a jelentéktelen karaktereket (szóközök, kocsivisszaadások stb.): balról és jobb oldal, csak a bal oldalon, és csak a jobb oldalon, ill.

abbrl("A kétoldali szóközök el lesznek távolítva") // "A kétoldali szóközök el lesznek távolítva"
abbr("A kétoldali szóközök el lesznek távolítva") // "A bal oldali szóközök el lesznek távolítva"
abbr(" A két oldalon lévő szóközök el lesznek távolítva ") // "A jobb oldali szóközök el lesznek távolítva"

Leo, jobbra, középen

Ezek a függvények lehetővé teszik egy karakterlánc egy részének levágását. A Lion() függvény a karakterlánc bal oldalán lévő, megadott hosszúságú részét adja vissza. A "Right()" függvény hasonló, de a vágás a jobb oldalon történik. A "Sze()" függvény lehetővé teszi annak a karakterszámnak a meghatározását, amelyből a karakterláncot kiválasztja, és annak hosszát.

Lion("String változó", 4) // a "Stro" értéket adja vissza
Right("String változó", 7) // a "változót" adja vissza
avg("String változó", 2, 5)// a "troco"-t adja vissza

Erősség

A függvény határozza meg a karakterlánc változóban található karakterek számát.

StrLength("Word") // a végrehajtás eredménye 5 lesz

megtalálja

A függvény lehetővé teszi a karakterlánc egy részének keresését egy karakterlánc változóban. A visszatérési érték egy szám lesz, amely a talált karakterlánc elejének pozícióját jelzi. Ha nem található egyezés, nullát ad vissza.

Vegye figyelembe, hogy a keresés megkülönbözteti a kis- és nagybetűket. Ha a keresési részkarakterlánc egynél több előfordulása van az eredeti karakterláncban, a függvény az első előfordulás elejét adja vissza.

Find("egy, kettő, egy, kettő, három", "kettő") // a függvény a 6-os számot adja vissza

Üres sor

Ennek a függvénynek a használata lehetővé teszi annak meghatározását, hogy egy karakterlánc üres-e. A jelentéktelen karaktereket, például a szóközt, a kocsi visszatérését és másokat a rendszer nem veszi figyelembe.

EmptyString("Vasily Ivanovich Pupkin") // a függvény False értéket ad vissza
EmptyString(" ") // a függvény True értéket ad vissza

VReg, NReg, TReg

Ezek a függvények nagyon hasznosak a karakterlánc-változók összehasonlításakor és konvertálásakor. A "Vreg()" visszaadja az eredeti karakterláncot nagybetűvel, a "HReg()" kisbetűvel, a "TReg()" pedig úgy formázza vissza, hogy minden egyes szó első karaktere nagybetűs legyen, és minden további karakter kisbetűs legyen.

VReg("GENERAL DIRECTOR") // visszatérési érték - "GENERAL DIRECTOR"
HReg("GENERAL DIRECTOR") // visszatérési érték - "CEO"
TReg("GENERAL IRECTOR") // visszatérési érték - "General Director"

StrReplace

Ez a funkció az in csere analógja szövegszerkesztők. Lehetővé teszi, hogy egy karaktert vagy karakterkészletet helyettesítsen egy másikkal a karakterlánc-változókban.

StrReplace("piros, fehér, sárga", ",", ";") // "piros; fehér; sárga"

StrNumberRows

A függvény lehetővé teszi, hogy meghatározza a kocsivisszajelzéssel elválasztott sorok számát egy szöveges változóban.

Az alábbi példában a hurok három körön megy keresztül, mert az StrNumberRows függvény a 3-as értéket adja vissza:

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

StrGetString

Ez a funkció ugyanúgy működik többsoros szöveggel, mint az előző. Lehetővé teszi, hogy egy szöveges változóból egy adott karakterláncot kapjon.

StrGetString("Karakterlánc1" + Szimbólumok.PS + "Karakterlánc2" + Szimbólumok.PS + "Karakterlánc3", 2) // "Line2"-t adja vissza

StrNumberOccurrences

A függvény megszámolja egy karakter vagy részkarakterlánc előfordulásának számát a keresett karakterláncban.

StrNumberInstallations("a;b;c;d; ", ";") // a függvény a 4-es számot adja vissza

Szimbólum és SymbolCode

Ezek a függvények lehetővé teszik, hogy egy karaktert Unicode kódja alapján kapjon meg, valamint maga a karakter határozza meg ezt a kódot.

SymbolCode("A") // a függvény az 1 040 számot adja vissza
SymbolCode(1040) // a függvény "A"-t ad vissza

Gyakori feladatok húrokkal való munka során

Karakterlánc összefűzése

Több karakterlánc összefűzéséhez (összefűzéséhez) egyszerűen használja az összeadás operátort.

"1. sor" + "2. sor" //két sor hozzáadásának eredménye "1. sor 2. sor"

Típus konverzió

Ahhoz, hogy egy típust karakterláncsá alakítsunk, például egy szótári elemre való hivatkozást, egy számot stb., elegendő a „String ()” függvény használata. Az olyan függvények, mint a "ShortLP()" szintén karakterláncokká alakítják a változókat, de azonnal levágják a jelentéktelen karaktereket.

String(1000) // az "1000" értéket adja vissza

Kérjük, vegye figyelembe, hogy egy szám karakterláncsá alakításakor a program automatikusan hozzáad egy szóközt, amely elválasztja az ezret. Ennek elkerülése érdekében a következő struktúrákat használhatja:

StrReplace(String(1000),Karakterek.NPP,"") // az "1000" értéket adja vissza

String(Format(1000,"CH=")) // értéke "1000"

Idézetek egy karakterláncban

Gyakran meg kell küzdenie azzal, hogy egy karakterlánc-változóba idézőjeleket kell tenni. Ez lehet a konfigurátorban írt kérés szövege, vagy csak egy változó. A probléma megoldásához mindössze két idézőjel karaktert kell beállítania.

Header = String("A Horns and Hooves LLC mi vagyunk!") // visszatér a "Roga and Hooves LLC mi vagyunk!"

Többsoros, sortörés

A létrehozás érdekében többsoros szöveg csak adjunk hozzá sortörés karaktereket (Symbols.PS).

MultilineText = "Első sor" + Karakterek.PS + "Második sor"

Hogyan távolítsuk el a szóközöket

A jobb vagy bal oldali szóközök eltávolításához használhatja a "Stretch()" (valamint a "Scrpt()" és "ScreenP()") függvényt:

StringWithoutSpaces = ShortLP(" Sok betű ") // a függvény a "Sok betű" értéket adja vissza

Ha egy szám karakterláncsá alakítása után el kell távolítania nem törő terek, használja a következő konstrukciót:

StringWithoutSpaces = StrReplace(String(99999),Karakterek.NPP,"") // "99999"-et adja vissza

Ezenkívül a programozók gyakran használják a következő konstrukciót, amely lehetővé teszi a szöveges változó minden szóközének eltávolítását vagy helyettesítését egy másik karakterrel:

StringWithoutSpaces = StrReplace(" hello", " " ,"") // a "hello" kifejezést adja vissza

A húrok összehasonlítása egymással

Összehasonlíthatja a kifejezéseket a szokásos egyenlőségjellel. Az összehasonlítás megkülönbözteti a kis- és nagybetűket.

"hello" = "hello" // hamis értéket ad vissza
"Hello" = "Hello" // True értékkel tér vissza
"Hello" = "Viszlát" // a False értéket adja vissza

Az 1C 8.3 karakterláncai az 1c beépített nyelvben primitív típusú értékek Vonal. Az ilyen típusú értékek tetszőleges hosszúságú Unicode karakterláncot tartalmaznak. A karakterlánc típusú változók idézőjelbe zárt karakterkészletek.

Példa 1. Hozzunk létre egy karakterlánc-változót szöveggel.

StringVariable = "Szia világ!";

Függvények karakterláncokkal való munkavégzéshez 1s-ben 8.3

Ez a rész tartalmazza azokat a fő funkciókat, amelyek lehetővé teszik a sorok 1 másodpercenkénti megváltoztatását, vagy a bennük lévő információk elemzését.

Erősség

Erősség(<Строка>) . A paraméterben átadott karakterláncban található karakterek számát adja vissza.

2. példa. Számoljuk meg a "Hello world!" karakterlánc karaktereinek számát.

String = "Helló világ!"; Karakterek száma = StrLength(String); Jelentés(Karakterek száma);

A kód végrehajtásának eredményeként megjelenik a karakterláncban lévő karakterek száma: 11.

Rövidítve

rövid(<Строка>) . A nem szignifikáns karaktereket a karakterlánc első jelentős karakterétől balra vágja.
Jelentéktelen karakterek:

  • hely;
  • nem törő tér;
  • táblázatosítás;
  • kocsi vissza;
  • soros fordítás;
  • az űrlap (oldal) fordítása.

3. példa: Távolítson el minden szóközt a "béke!" karakterlánc bal oldaláról. és fűzze hozzá a "Hello" karakterláncot.

String = abbr("világ!"); String = "Szia"+karakterlánc; Értesítés(String);

A kód végrehajtásának eredménye a "Hello world!" karakterlánc megjelenítése lesz.

Rövidítés

rövidítés(<Строка>) . A nem jelentős karaktereket levágja a karakterlánc első jelentős karakterétől jobbra.

Példa 4. Formázz a "Hello" és a "world!" karakterláncokból! kifejezés "Hello világ!"

String = abbr("Szia")+" "+abbr("világ!"); Értesítés(String);

Rövidített LP

Abbrl(<Строка>) . Levágja a nem szignifikáns karaktereket a karakterlánc első jelentős karakterétől jobbra, a nem szignifikáns karaktereket is levágja a karakterlánc első jelentős karakterétől balra. Ezt a funkciót gyakrabban használják, mint az előző kettőt, mivel sokoldalúbb.

5. példa: Távolítsa el a jelentéktelen karaktereket a partner nevéből a bal és a jobb oldalon.

Vállalkozó = Directories.Contractors.FindBy Details("TIN", "0777121211"); ContractorObject = Contractor.GetObject(); ContractorObject.Description = Rövidített LP(ContractorObject.Description); ContractorObject.Write();

egy oroszlán

Egy oroszlán(<Строка>, <ЧислоСимволов>) . Lekéri egy karakterlánc első karaktereit, a karakterek száma a paraméterben van megadva Karakterek száma.

6. példa. Legyen a szerkezet Munkavállaló tartalmazza a munkavállaló nevét, vezetéknevét és családnevét. Szerezzen be egy karakterláncot vezetéknévvel és kezdőbetűkkel.

InitialName = Oroszlán(Alkalmazott.Név, 1); Apanév kezdőbetűje = Oroszlán(Alkalmazott.Patronym, 1); FullName = Alkalmazott.Vezetéknév + " " + Keresztnév kezdeti + "." + Apanév kezdőbetűje + ".";

jogok

Jobb(<Строка>, <ЧислоСимволов>) . Lekéri egy karakterlánc utolsó karaktereit, a karakterek száma a paraméterben van megadva Karakterek száma. Ha a megadott számú karakter meghaladja a karakterlánc hosszát, akkor a teljes karakterláncot a rendszer visszaadja.

7. példa: Írjon egy dátumot egy karakterláncváltozó végére „ééééhhnn” formátumban, szerezzen be egy dátumot tartalmazó karakterláncot, és alakítsa át típussá dátum.

Karakterlánc = " Az aktuális dátum: 20170910"; StringDate = Jogok(String, 8); Date = Date(StringDate);

szerda

Szerda(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Lekér egy részkarakterláncot a paraméterben átadott karakterláncból Vonal, attól a karaktertől kezdve, amelynek száma a paraméterben van megadva InitialNumberés a paraméternek átadott hossz Karakterek száma. A karakterláncban lévő karakterek számozása 1-től kezdődik. Ha a paraméter InitialNumber nullánál kisebb vagy azzal egyenlő érték van megadva, akkor a paraméter az 1 értéket veszi fel. Ha a paraméter Karakterek száma nincs megadva, a karakterlánc végéig tartó karakterek kerülnek kiválasztásra.

Példa 8. Hagyja, hogy a karakterlánc változó tartalmazza a régiókódot a kilencedik pozíciótól kezdve, ezt kell beszerezni és külön sorba írni.

String = "Régió: 99 Moszkva"; Régió = Átl.(sor, 9, 2);

PageFind

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Megkeresi a megadott részkarakterláncot egy karakterláncban, visszaadja a talált részstring első karakterének pozíciószámát. Tekintsük ennek a függvénynek a paramétereit:

  • Vonal. Forrás karakterlánc;
  • SubstringSearch. A kívánt részkarakterlánc;
  • Iránykeresés. Megadja a karakterláncban lévő részkarakterlánc keresésének irányát. Értékeket vehet fel:
    • Keresési irány. A kezdetektől;
    • Keresési irány. A végétől;
  • Kezdőpozíció. Megadja azt a pozíciót a karakterláncban, ahol a keresést indítani kell;
  • Belépési szám. Megadja a keresett részkarakterlánc előfordulásának számát a forráskarakterláncban.

9. példa A "Hello world!" sorban. határozza meg az "és" karakter utolsó előfordulásának helyét.

PositionNumber = StrFind("Hello World!", "és", Keresési Irány.A végétől); Értesítés(pozíciószám);

A kód végrehajtásának eredménye az „és” szimbólum utolsó előfordulásának száma jelenik meg a képernyőn: 9.

VReg

VReg(<Строка>) . A megadott karakterlánc összes karakterét 1s 8-ra nagybetűvé alakítja.

10. példa Konvertálja a "hello world!" karakterláncot. nagybetűsre.

StringVreg = Vreg("helló világ!"); Jelentés(StringVreg);

A kód végrehajtásának eredménye a "HELLO WORLD!" karakterlánc megjelenítése lesz.

HReg

HReg(<Строка>) . A megadott karakterlánc összes karakterét 1s 8-ra kisbetűvé alakítja.

11. példa Konvertálja a "HELLO WORLD!" kisbetűsre.

StringNreg = NReg("HELLO VILÁG!"); Jelentés(StringVreg);

A kód végrehajtásának eredménye a "hello world!" karakterlánc megjelenítése lesz.

Treg

Treg(<Строка>) . A karakterláncot a következőképpen alakítja át: minden szó első karakterét nagybetűvé, a szó többi karakterét kisbetűvé alakítja.

12. példa: Írd nagybetűvel a "hello world!" karakterlánc szavainak első betűit.

StringTreg = TReg("helló világ!"); Jelentés(StringTreg);

A kód végrehajtásának eredménye a "Hello World!" karakterlánc megjelenítése lesz.

Szimbólum

Szimbólum(<КодСимвола>) . Unicode kódja alapján kap egy karaktert.

13. példa: Adjon hozzá bal és jobb oldalt a "Hello World!" szimbólum ★

StringWithStars = Karakter("9733")+"Helló világ!"+Karakter("9733"); Jelentés(StringWithStars);

A kód végrehajtásának eredményeként megjelenik a „★Hello World!★” karakterlánc.

SymbolCode

SymbolCode(<Строка>, <НомерСимвола>) . A Unicode karakterkódot az első paraméterben megadott karakterláncból kéri le, amely a második paraméterben megadott helyen található.

14. példa: Keresse meg a "Hello World!" karakterlánc utolsó karakterének kódját.

String = "Hello World!"; CharacterCode =KarakterKód(karakterlánc, StrLength(String)); Értesítés (Karakterkód);

A kód végrehajtásának eredménye a "!" szimbólum kódjának megjelenítése lesz. — 33.

Üres sor

Üres sor (<Строка>) . Ellenőrzi, hogy a karakterlánc csak nem szignifikáns karakterekből áll-e, azaz üres-e.

15. példa Ellenőrizze, hogy a karakterlánc üres-e, és három szóközből áll-e.

Empty = EmptyString(" "); Jelentés(Üres);

A kód végrehajtásának eredményeként megjelenik az "Igen" szó (egy logikai érték karakterlánc kifejezése Igaz).

StrReplace

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Megkeresi a keresési részkarakterlánc összes előfordulását a forráskarakterláncban, és lecseréli a helyettesítő karakterláncra.

16. példa A "Hello World!" sorban. cserélje ki a „Világ” szót a „Barátok” szóra.

String = StrReplace("Hello World!", "World", "Barátok"); Értesítés(String);

A kód végrehajtásának eredménye a "Hello Friends!" karakterlánc megjelenítése lesz.

StrNumberRows

StrNumber of Lines(<Строка>) . Lehetővé teszi egy többsoros karakterláncban lévő sorok számának megszámlálását. Az 1s 8-ban új sorra lépéshez a szimbólumot kell használni PS(soremelés karakter).

17. példa Határozza meg a sorok számát a szövegben:
"Első sor
Második sor
Harmadik sor"

Number = StrNumber of Lines("Első sor"+Szimbólumok.PS +"Második sor"+Szimbólumok.PS +"Harmadik sor"); Jelentés(szám);

A kód végrehajtásának eredménye a sorok számának megjelenítése a szövegben: 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . A többsoros karakterláncban lévő karakterláncot a száma alapján kapja meg. A sorszámozás 1-től kezdődik.

18. példa: Szerezze be a szöveg utolsó sorát:
"Első sor
Második sor
Harmadik sor"

Szöveg = "Első sor"+Karakterek.PS +"Második sor"+Karakterek.PS +"Harmadik sor"; LastLine = StrGetLine(szöveg, sorok száma(szöveg)); Értesítés (Utolsó sor);

A kód végrehajtásának eredménye a „Harmadik sor” sor megjelenítése lesz.

StrNumberOccurrences

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) . A megadott részkarakterlánc előfordulásának számát adja vissza egy karakterláncban. A funkció megkülönbözteti a kis- és nagybetűket.

19. példa Határozza meg, hogy a „c” betű hányszor lép be a „Lines in 1s 8.3 and 8.2” sorba, kis- és nagybetűtől függetlenül.

String = "Sorok az 1s 8.3-ban és 8.2-ben"; Előfordulások száma = Str. Előfordulások száma(Vreg(String), "C"); jelentés(előfordulások száma);

A kód végrehajtásának eredménye az előfordulások számát jeleníti meg a képernyőn: 2.

Page BeginsFrom

StrBeginsFrom(<Строка>, <СтрокаПоиска>) . Ellenőrzi, hogy az első paraméterben megadott karakterlánc a második paraméterben szereplő karakterlánccal kezdődik-e.

20. példa Határozza meg, hogy a kiválasztott partner TIN-je 1-gyel kezdődik-e. Legyen a változó szerződő fél Ügyfelek.

TIN = Vállalkozó.TIN; StartsCUnits = StrStartsC(TIN, "1"); If StartsFROM1 Then //A kódod EndIf;

Az oldal vége

StrEndsOn(<Строка>, <СтрокаПоиска>) . Ellenőrzi, hogy az első paraméterben átadott karakterlánc a második paraméterben lévő karakterláncra végződik-e.

21. példa Határozza meg, hogy a kiválasztott partner TIN-száma 2-re végződik-e. Legyen a változó szerződő fél a címtárelemre mutató hivatkozás tárolásra kerül Ügyfelek.

TIN = Vállalkozó.TIN; Kettővel végződik = Str A következővel végződik (TIN, "2"); If Ends With Two Then //A kódod EndIf;

PageSplit

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Egy karakterláncot részekre bont a megadott határoló karakterekkel, és a kapott karakterláncokat egy tömbbe írja. Az első paraméter tárolja eredeti húr, a másodikban egy elválasztót tartalmazó karakterlánc, a harmadikban jelzi, hogy kell-e írni egy tömbbe üres sorok(alapértelmezett Igaz).

22. példa. Tegyük fel, hogy van egy karakterláncunk, amely számokat tartalmaz ";" szimbólummal elválasztva, kapjunk egy számtömböt a karakterláncból.

Karakterlánc = "1; 2; 3"; Tömb = StrSplit(String, ";"); For Count = 0 by Array.Quantity() - 1 Loop Attempt Array[Count] = Number(Ablp(Tömb[Count])); Kivételtömb[W] = 0; EndTry EndCycle;

A végrehajtás eredményeként egy 1-től 3-ig terjedő számokat tartalmazó tömb keletkezik.

StrConnect

StrConnect(<Строки>, <Разделитель>) . Az első paraméterből álló karakterláncok tömbjét a második paraméterben megadott határolóval a tömb összes elemét tartalmazó karakterláncsá alakítja át.

23. példa: Az előző példa számtömbjének felhasználásával kapja meg az eredeti karakterláncot.

For Count = 0 by Array.Quantity() - 1 Loop Array[Count] = String(Tömb[Count]); EndCycle; String = StrConnect(tömb, "; ");

Megvalósítva a 8.3.6.1977 verzióban.

Bővítettük a karakterláncokkal való munkavégzés funkcióinak körét. Ezt annak érdekében tettük, hogy fejlettebb eszközöket biztosítsunk a karakterlánc-adatok elemzéséhez. Az új funkciók kényelmesek és hasznosak lesznek a szövegelemzés technológiai feladataiban. A formázott formában adatokat tartalmazó szöveg elemzésével kapcsolatos feladatokban. Ez lehet a berendezéstől kapott egyes fájlok elemzése, vagy például egy technológiai napló elemzése.

Az új funkciók által végrehajtott összes műveletet korábban is elvégezhette. Beágyazott nyelven írt többé-kevésbé bonyolult algoritmusok segítségével. Ezért az új funkciók nem adnak alapvetően új lehetőségeket. Lehetővé teszik azonban a kód mennyiségének csökkentését, egyszerűbbé és érthetőbbé teszik a kódot. Ezenkívül lehetővé teszik a műveletek végrehajtásának felgyorsítását. Mert a platformban megvalósított funkciók természetesen gyorsabban működnek, mint egy hasonló, a beépített nyelven írt algoritmus.

Formázási függvény StrTemplate()

Ez a függvény a paramétereket karakterláncba helyettesíti. Ilyen átalakítás szükségessége gyakran felmerül, például figyelmeztető üzenetek megjelenítésekor. Ennek a függvénynek a szintaxisa a következő:

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

<Шаблон>az a karakterlánc, amelyben a paraméterreprezentációkat helyettesíteni kell.

<Значение1> , ... <Значение10>- ezek azok a paraméterek (maximum - tíz), amelyek reprezentációit be kell cserélni a karakterláncba.

Egy adott hely megadásához a sablonban, ahol a helyettesítést el kívánja végezni, %1, ... %10 formátumú jelölőket kell használnia. A sablonban szereplő markerek számának és az értékeket tartalmazó paraméterek számának meg kell egyeznie.

Például egy ilyen operátor végrehajtásának eredménye:

lesz egy sor:

Adathiba a 2. sorban (dátumtípus szükséges)

String függvény StrCompare()

Ez a függvény két karakterláncot a kis- és nagybetűk megkülönböztetésével hasonlít össze. Például így:

Ugyanezt a műveletet végrehajthatja a ValueComparison objektum használata előtt:

Az új funkció használata azonban egyszerűbbnek tűnik. Ezenkívül a funkció az Value Compare objektumtól eltérően a vékony kliensben és a webes kliensben is működik.

String függvények StrBeginsC(), StrEndsTo()

Ezek a függvények határozzák meg, hogy egy karakterlánc egy megadott részkarakterlánccal kezdődik-e, vagy egy karakterlánc egy megadott részkarakterlánccal végződjön. Ezeknek a függvényeknek az algoritmusát nem nehéz beépített nyelven megvalósítani, de jelenlétükkel tisztább és érthetőbb kódokat írhatunk. És gyorsabban dolgoznak.

Például kényelmesen használhatók az If utasításban:

Függvények a StrSplit(), StrJoin() karakterláncokkal való munkához

Ezek a függvények a karakterláncot részekre osztják a megadott határolónak megfelelően. Vagy fordítva, több sort egyesítenek egybe, beillesztve közéjük a kiválasztott elválasztót. Kényelmesek naplók, technológiai naplók létrehozásához vagy elemzéséhez. Például egy technológiai naplóbejegyzést egyszerűen szétszedhet további elemzésre alkalmas részekre:

StrFind() karakterláncokkal végzett munka függvénye

A régi Find() függvény helyett implementáltuk új funkció, amely további funkciókkal rendelkezik:

  • Keresés különböző irányokba (az elejétől, a végétől);
  • Keresés a megadott pozícióból;
  • Keressen előfordulást a következővel: megadott szám(második, harmadik stb.).

Valójában megkettőzi a régi funkció képességeit. Ez a régebbi verziókban lefordított modulokkal való kompatibilitás fenntartása érdekében történik. Javasoljuk, hogy a régi Find() függvényt ne használja többé.

Az alábbiakban egy példa látható az új keresési lehetőségek használatára. A visszafelé keresés akkor hasznos, ha egy formalizált karakterlánc utolsó töredékére van szüksége, például teljes név fájl URL-ben. A megadott pozícióból való keresés pedig segít azokban az esetekben, amikor egy ismert töredékben kell keresni, nem pedig a teljes karakterláncban.