1c keresse meg a karakterlánc második előfordulását. Új karakterlánc-függvények
Olvassa el is
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.