Cum să găsiți un anumit simbol în linia 1c. Noi funcții de lucru cu rânduri

Tipul "șir" se găsește în toate limbile de programare. Este primitiv, iar în 1c există multe funcții pentru a lucra cu el. În acest articol vom lua în considerare în detaliu diverse metode Lucrați cu tipuri de șir în 1c 8.3 și 8.2 pe exemple.

Linia

Pentru a converti o variabilă de orice tip la un șir, există funcția "Row ()" a aceluiași nume. Parametrul de intrare va fi variabila însăși, a cărei reprezentare a șirului trebuie obținută.

Rând (fals) // returnează "nu"
Rând (12345) // returnează "12 345"
Rând (actualdata ()) // 2.5.07.2017 11:55:36 "

Conversia la linie este posibilă nu numai pentru tipurile primitive, ci restul, cum ar fi elementele cărților de referință, documentele.

Sokrlp, Sokrel, Cropp

Ca parametrii de intrare al acestor funcții, o variabilă de tip șir este o variabilă. Funcțiile îndepărtează caracterele nesemnificative (spații, cărucioare și alte spații): cu stânga și partea dreapta, numai pe partea stângă și numai cu dreptul, respectiv.

Sokrlp (spațiile vor fi îndepărtate pe ambele părți ") //" Spațiile de pe ambele părți vor fi eliminate "
Sokrel (spațiile vor fi îndepărtate pe ambele părți ") //" Spațiile rămase "vor fi eliminate"
Socrp ("Spații de pe ambele părți") // "Spațiile din dreapta vor fi eliminate"

Leu, drepturi, mass-media

Aceste funcții vă permit să tăiați o parte a liniei. Funcția "Lion ()" va reveni o parte a liniei din partea stângă a lungimii specificate. Funcția "dreapta ()" este similară, dar tunderea este efectuată în partea dreaptă. Funcția "Media ()" vă permite să specificați numărul de caractere din care vor fi evidențiate șirul și lungimea acestuia.

Leu ("variabilă de șir", 4) // returnează "paie"
Drepturile ("variabila de balustradă", 7) // returnează "ERAMET"
Media ("Variabila șirului", 2, 5) // întoarce "Troko"

Strotina.

Funcția determină numărul de caractere conținute în variabila șirului.

Streglin ("cuvântul") // rezultatul va fi numărul 5

A găsi

Funcția vă permite să căutați în orice parte variabilă a șirului. Ca o valoare returnată, numărul va fi poziția care arată poziția de la începutul liniei găsite. Dacă nu sunt detectate coincidențe, zero este returnat.

Vă rugăm să rețineți că căutarea este făcută în ceea ce privește registrul. Dacă în linia inițială va fi mai mult de o intrare a substringului de căutare, funcția va reveni la începutul primei intrări.

Găsiți ("O dată, de două ori, două, trei", "două") // Funcția va returna numărul 6

Linia goală

Utilizarea acestei funcții vă permite să determinați dacă șirul este gol. Caracterele au fost luate în considerare, cum ar fi spațiul, transferul de transport și altele nu sunt luate în considerare.

"Pupkin Vasily Ivanovich") // Funcția va returna valoarea falsă
Pastastroca ("") // Funcția va returna valoarea adevărului

Lumina, nreg, treg

Aceste funcții sunt foarte utile atunci când compară și converti variabilele de șir. "Râde ()" va returna linia originală în majuscule, "NEG ()" în mai jos și "TREG (TREG ()" formează astfel încât primul caracter al fiecărui cuvânt individual să fie cu o scrisoare de capital și toate ulterioare cu mic.

VREGA ("Director General") // Returnarea importanței - "Director General"
NREGA ("Director General") // Importanța returnării - "CEO"
Trega ("Director General") // Valoarea returnată - "Director General"

Strună

Această caracteristică este un analog de înlocuire în editori de text. Vă permite să înlocuiți un caracter sau un set de caractere altor în variabilele de șir.

RUST ("roșu, alb, galben", ","; ") // retur" roșu; alb; galben"

Strostroke.ro

Funcția vă permite să determinați numărul de rânduri, separate de transfer transport în variabila de text.

Ciclul, în exemplul de mai jos, vor avea loc trei cercuri, deoarece funcția Stringslock va reveni la 3:

Pentru Ind \u003d 1 prin Strokerlock ("String1" + caractere. PC + "String2" + caractere. PC + "String3")
<тело цикла>
Endcycle;

Plugulastrik.

Această caracteristică funcționează cu text multi-linie, precum și cea precedentă. Vă permite să obțineți un șir specific din variabila de text.

Conectați-vă ("String1" + caractere. PC + "String2" + caractere. PS + "String3", 2) // Return "String2"

Strirling.

Funcția numără cantitatea de intrare de simbol sau substring în șirul dorit.

Formele de stație ("a; b; in; g;", ";") // Funcția va returna numărul 4

Simbol și codeimvol.

Aceste funcții vă permit să obțineți un simbol în codul său în enicode codificarea, precum și definiți acest cod pe simbolul însuși.

Cuțiimvolul ("A") // Funcția va returna numărul 1 040
Kodsimvol (1040) // Funcția va reveni "a"

Sarcini frecvente atunci când lucrați cu rânduri

Combinarea șirului

Pentru a combina mai multe linii (concatenate), este suficient să utilizați operatorul de adăugare.

"Linia 1" + "Linia 2" // Rezultatul de pliere a două linii va fi "șir 1 linia 2"

Tip conversie

Pentru a converti tipul într-un șir, de exemplu, o referință la elementul director, numărul și așa mai departe, este suficient să utilizați funcția "ROW ()". Funcțiile similare cu "COPLP ()" vor converti, de asemenea, variabilele în șir, dar imediat cu tăierea caracterelor nesemnificative.

Rând (1000) // returnează "1.000"

Rețineți că atunci când convertiți un număr într-un șir, programul a adăugat automat un spațiu care separă o mie. Pentru a evita acest lucru, puteți utiliza următoarele structuri:

Rust (linia (1000), simboluri. NPP, "") // returnați "1000"

Rând (format (1000, "cg \u003d")) // retur "1000"

Citate în șir

Destul de des, va trebui să vă ocupați de necesitatea de a specifica într-o cotație variabilă a șirului. Poate fi ca un text de interogare scris în configurator și doar o variabilă. Pentru a rezolva această sarcină, trebuie doar să instalați două caractere de citate.

Titlu \u003d rând ("LLC" "Horn și Hooves" - Aceasta este noi! ") // reține" Rog și Hortal LLC "- aceasta este noi!"

Multi-linie, transfer rând

Pentru a crea un text multi-linie, este suficient să adăugați la acesta pentru a transfera șirul la acesta (simboluri. PS).

Multi-linecext \u003d "prima linie" + simboluri. FS + "al doilea șir"

Cum de a elimina lacunele

Pentru a elimina lacunele din dreapta sau din stânga, puteți utiliza funcția "COPLP ()" (precum și "Sokrel ()" și "Cropp ()"):

IntervalBesProelov \u003d Coolp ("Multe litere") // Funcția va returna valoarea "Multe litere"

Dacă, după conversia numărului în șir, aveți nevoie pentru a elimina spațiile inseparabile, utilizați următorul design:

SretBeBones \u003d Rust (string (99999), simboluri. NPP, "") // reține "99999"

De asemenea, programatorii se bucură adesea de următorul design, ceea ce vă permite să ștergeți sau să înlocuiți toate spațiile variabilei de text la un alt simbol:

Stringbezf Belts \u003d Rust ("PR și V E", ",", ") // reține" hi "

Comparația de șiruri între ei

Puteți compara termenele limită în semnul obișnuit al egalității. În comparație, se ia în considerare registrul.

"Bună ziua" \u003d "Bună ziua" // va reveni o minciună
"Bună ziua" \u003d "Bună ziua" // returnați adevărul
"Bună ziua" \u003d "La revedere" // va reveni o minciună

Linii în 1c 8.3 în limba încorporată 1C sunt valori de tip primitiv Linia. Valori acest tip Conține un șir în format Unicode de lungime arbitrară. Variabilele de șir sunt un set de caractere închise în citate.

Exemplul 1. Creați o variabilă de șir cu text.

Row-Free \u003d "Bună ziua World!";

Funcții de lucru cu linii în 1c 8.3

ÎN aceasta sectiune Funcțiile de bază vor fi date pentru a schimba liniile din 1c sau pentru a analiza informațiile conținute în ele.

Strotina.

STRDLIN (<Строка>) . Returnează numărul de caractere conținute în șirul transmis în parametru.

Exemplul 2. Calculați numărul de caractere din șirul "Hello World!".

Rând \u003d "Bună ziua în lume!"; Martensums \u003d Sondin (șir); Raport (citație);

Rezultatul executării acestui cod va afișa numărul de caractere ale șirului: 11.

Sokrel.

Sokrel (<Строка>) . Se taie din caractere nesemnificative în partea stângă a primului simbol semnificativ în linie.
Simboluri neinformate:

  • spaţiu;
  • spațiu fără scutire;
  • tabulare;
  • Întoarcerea transportului;
  • traducere de linie;
  • traducere de formular (pagini).

Exemplul 3. Îndepărtați toate spațiile din partea stângă a liniei "Lumea!" Și atașați-o la linia "Bună ziua".

Linia \u003d sokrel ("pace!"); Rând \u003d "salut" + linie; Raport (șir);

Rezultatul executării acestui cod va fi emis pe ecranul "Bună Mir!".

Socrp.

Copp (<Строка>) . Tăiați din caractere nesemnificative în partea dreaptă a primului simbol de semnificație din rând.

Exemplul 4. Pentru a forma din rândul "Hi" și "Pace!" Expresie "Bună ziua!"

Row \u003d Cropp ("Hi") + "" + Sokrel ("pace!"); Raport (șir);

Sokrlp.

Sokrlp (<Строка>) . Tăiește de caractere nesemnificative în partea dreaptă a primului simbol de semnificație din rând, se taie, de asemenea, din caractere nesemnificative la stânga primului caracter semnificativ din rând. Această funcție este utilizată mai des decât cele două precedente, deoarece este mai versatilă.

Exemplul 5. Îndepărtați caracterele nesemnificative care stau în stânga și la dreapta în numele contrapartidei.

Contrapartidă \u003d referințe. Protects. Enti-mișcare ("Inn", "0777121211"); Contrapartidă \u003d contrapartidă. Obiect de preparat (); Contrapartidă. Nume \u003d Coolp (contrapartidă. Nume); Contrapartidă. Pentru a recruta ();

un leu

Un leu(<Строка>, <ЧислоСимволов>) . Obține primele caractere șir, numărul de caractere este indicat în parametru Slovesmiths.

Exemplul 6. Lăsați în structură Angajat Conține numele, prenumele și numele intermediar al angajatului. Obțineți un șir cu numele și inițialele.

Date inițiale \u003d leu (angajat. Adică, 1); Inițialitate \u003d leu (angajat. Delicații, 1); Îndepliniți \u003d angajat.familia + "" + inițial și "." " + Inițialitate + "";

Dreapta

Drepturi (<Строка>, <ЧислоСимволов>) . Primește cele mai recente simboluri de șir, numărul de caractere este indicat în parametru Slovesmiths. Dacă numărul specificat de caractere depășește lungimea liniei, atunci întregul șir este returnat.

Exemplul 7. Lăsați data în formatul "GGHHMDD" la sfârșitul variabilei de șir, pentru a obține o linie cu data și a le converti la tip Data.

Linie \u003d "Data curentă: 20170910"; Strfedate \u003d drepturi (șir, 8); Data \u003d Data (StrFewar);

Mass-media

Medii (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Devine un substring din rândul transmis în parametru Liniaîncepând cu numărul de caractere care este specificat în parametru Lansare și lungimea transmisă la parametru Slovesmiths.Numerotarea caracterelor în șir începe cu 1. Dacă în parametru Lansare Valoarea este mai mică sau egală cu zero, parametrul ia valoarea 1. Dacă parametrul Nizalimvol. Nu este specificat, atunci simbolurile sunt selectate până la sfârșitul liniei.

Exemplul 8. Să presupunem că, în variabila de șir, pornind de la poziția a nouă, conține codul regiunii, trebuie să-l obțineți și să îl scrieți într-un șir separat.

Linia \u003d "Regiunea: 99 Moscova"; Regiune \u003d Media (șir, 9, 2);

STRNET.

STRNET.<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Căutări pentru substringul specificat în șir, returnează numărul de poziție al primului personaj găsit Substring găsit. Luați în considerare parametrii acestei caracteristici:

  • Linia. Linia sursă;
  • Substream. Substring dorit;
  • Direcţie. Specifică direcția de a căuta substringul în rând. Pot lua valori:
    • Direcţie;
    • Direcţie;
  • Stagnare. Specifică poziția în șirul de la care începe căutarea;
  • Părere. Indică numărul de intrare al substringului dorit în linia sursă.

Exemplul 9. În linia "Bună ziua Lumea!" Determinați poziția ultimei introducere a simbolului "și".

Drize \u003d strnet ("salut mir!", "Și", direcție de la .Conssion); Raport (alimentator);

Rezultatul executării acestui cod va fi emis la numărul de ecran al ultimei introducere a simbolului "și": 9.

Ușoară

VREGA (<Строка>) . Convertește toate caracterele șirului specificat în 1C 8 în registrul de sus.

Exemplul 10. Transformați linia "Hello Mir!" În registrul de sus.

Gamad \u003d LAG ("Bună ziua!"); Raport (canal);

Rezultatul executării acestui cod va fi emis pe ecranul liniei "Hello Peace!"

Nreg.

NREGA (<Строка>) . Convertește toate caracterele șirului specificat în 1c 8 la registrul inferior.

Exemplul 11. Transformați un șir "Hello Mir!" la registrul inferior.

Strochanneg \u003d Nreg ("Bună ziua pipi!"); Raport (canal);

Rezultatul executării acestui cod va fi emis pe ecranul liniei "Hello Peace!"

Treg.

Trega (<Строка>) . Convertește un șir după cum urmează: Primul simbol al fiecărui cuvânt este tradus în majuscule, cuvintele rămase ale cuvântului sunt traduse în registrul inferior.

Exemplul 12. Faceți capetele primelor litere de cuvinte din linia "Bună ziua în lume!".

STINKATEG \u003d TREG ("HELLO PEACE!"); Raport (Stinkateg);

Rezultatul executării acestui cod va fi emis pe ecranul liniei "Hello Peace!"

Simbol

Simbol(<КодСимвола>) . Primește un simbol pe codul său în codarea Unicod.

Exemplul 13. Adăugați la stânga și spre dreapta la linia "Bună ziua!" Simbol ★.

String Pasaje \u003d Simbol ("9733") + "Bună ziua World!" + Simbol ("9733"); Raport (pasaje de șir);

Rezultatul executării acestui cod va fi afișat pe ecranul șirului "★ HI PEACE! ★"

Kodsimvol.

Codeimvol (<Строка>, <НомерСимвола>) . Obține un cod de simbol în UniCode Codificarea de la un șir de unghi specificat în primul parametru situat în poziția specificată în cel de-al doilea parametru.

Exemplul 14. Aflați codul ultimului simbol din linia "Hi World!".

Rând \u003d "Bună ziua în lume!"; CodeImpol \u003d CodeImpol (șir, Ștergere (șir)); Raport (CodeImpol);

Rezultatul executării acestui cod va fi emis la codul de simbol "!" - 33.

Linia goală

Linie goală (<Строка>) . Verifică dacă șirul este numai de la personaje nesemnificative, adică dacă este gol.

Exemplul 15. Verificați dacă șirul gol este alcătuit din trei spații.

Goală \u003d mutată (""); Raport (gol);

Rezultatul executării acestui cod va fi emis pe ecranul "Da" (expresia șirului de valoare logică Adevărat).

Strună

Strună (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Se găsește în linia originală toate intrările de substring de căutare și îl înlocuiește cu substituția de substituție.

Exemplul 16. În linia "Bună ziua Lumea!" Înlocuiți cuvântul "lume" pe cuvântul "prieteni".

Row \u003d Rust ("Hello Mir!", "MIR", "Prieteni"); Raport (șir);

Rezultatul executării acestui cod va fi transmis pe ecranul "Bună prieteni!"

Strostroke.ro

Strokelost (<Строка>) . Vă permite să calculați numărul de rânduri dintr-un șir multi-linie. Pentru a merge la un șir nou în 1C 8, se utilizează un simbol. PS. (simbolul de traducere șir).

Exemplul 17. Determinați numărul de rânduri din text:
"Prima linie
Al doilea șir
A treia linie »

Numărul \u003d coșul Subut (primul rând "+ simboluri. PC +" A doua linie "+ caractere. PC +" al treilea șir "); Raport (număr);

Rezultatul executării acestui cod va fi emis la numărul de rânduri din text: 3

Plugulastrik.

Plotchikstka (<Строка>, <НомерСтроки>) . Primește un șir într-un șir multi-linie după numărul său. Numărul de numere a rândului începe cu 1.

Exemplul 18. Obțineți ultimul șir în text:
"Prima linie
Al doilea șir
A treia linie »

Text \u003d "Prima linie" + caractere. PC + "A doua linie" + caractere. FS + "al treilea rând"; Lastastargh \u003d Plisproktriktkkkkk (text, stroking (text)); Raport (ultima dată);

Rezultatul executării acestui cod va fi emis la ecranul liniei "al treilea rând".

Strirling.

Strirling (<Строка>, <ПодстрокаПоиска>) . Returnează numărul de intrări ale substringului specificat în șir. Funcția este sensibilă la registru.

Exemplul 19. Determinați de câte ori intră în șirul din 1c 8.3 și 8.2. Scrisoarea "C", indiferent de registrul său.

Rând \u003d "rânduri în 1c 8.3 și 8.2"; Numere \u003d etichetă (Lag (șir), "C"); Raport (cifre);

Rezultatul executării acestui cod va emite numărul de intrări: 2.

Programată

Rone (<Строка>, <СтрокаПоиска>) . Verifică dacă șirul a trecut în primul parametru, de la rândul din al doilea parametru.

Exemplul 20. Determinați dacă hanul omologului selectat este pornit cu numărul 1. Lăsați în variabila Contrapartidă Contrapartide.

Inn \u003d contrapartită.inn; Începe împreună \u003d rriniat (Inn, "1"); Dacă începe la atunci // sa încheiat codul;

Strazanacivna.

(<Строка>, <СтрокаПоиска>) . Verifică dacă șirul sa încheiat în primul parametru, pe linia din al doilea parametru.

Exemplul 21. Determinați dacă hanul omologului selectat se termină cu figura 2. Lăsați în variabila Contrapartidălink stocat la elementul director Contrapartide.

Inn \u003d contrapartită.inn; Supapele Sfarete \u003d Strasting (Inn, "2"); Dacă îl terminați atunci // codul dvs. sa încheiat;

Curea

Încordare<Строка>, <Разделитель>, <ВключатьПустые>) . Puneți șirul de pe partea în funcție de simbolurile separator specificate și înregistrează corzile rezultate într-o matrice. În primul parametru, linia sursă este stocată, în a doua linie care conține separatorul, în a treia este indicat dacă să înregistreze linii goale la matrice (în mod implicit Adevărat).

Exemplul 22. Să avem un șir care conține numerele separate de simbolul "", să obțină o serie de numere din șir.

Rând \u003d "1; 2; 3"; Array \u003d curea (șir, ";"); Pentru SCH \u003d 0 printr-o matrice. Număr () - 1 încercare de ciclu [SCH] \u003d Număr (Crolp (Array [SCH])); Excepție matrice [SCH] \u003d 0; Endrequency endropset;

Ca rezultat al executării, se va obține o matrice cu numere de la 1 la 3.

Accident vascular cerebral

Stroen.<Строки>, <Разделитель>) . Convertește o serie de rânduri de la primul parametru la șirul care conține toate elementele matricei prin separatorul specificat în al doilea parametru.

Exemplul 23. Folosind o serie de numere din exemplul anterior, pentru a obține șirul original.

Pentru SCH \u003d 0 printr-o matrice. Număr () - 1 Ciclu Array [SCH] \u003d șir (matrice [SCH]); Endcycle; Linia \u003d cursa (matrice, ";");

Informații în 1c pot fi reprezentate: Director, Document, Înregistrare ...

Cu toate acestea, în cele din urmă, toate aceste obiecte constau din câmpuri, iar câmpurile sunt tipuri simple - numărul, linia, data. Iar informațiile sub formă de șiruri sunt întotdeauna mai mari. Prin urmare, cu rânduri trebuie să lucrați mai des.

Acum vom analiza cum din limba 1c puteți lucra cu rânduri. Parally încercați diferite opțiuni pentru analiza automată a textului.

Tipuri de șir

Rândurile pot fi limitate în lungime sau lungime nelimitată. Dacă valoarea șirului este preluată din recuzită - atunci această limitare este specificată în tipul de recuzită.

Dacă șirul introdus utilizatorul pe formular, atunci elementul de meniu poate sta "Modul multi-line" și "Editare extinsă". Primul înseamnă că șirul poate conține semnele de "transferare 1C (ENTER) șir". Al doilea lucru este că șirul poate conține alte caractere de serviciu 1c, cum ar fi fila.

Dacă linia este luată din fișier, de exemplu utilizând ReadieTextext (), devine importantă și codificare - Când citiți fișierul, trebuie să specificați codarea (UTF-8, KOI8 etc.).

Simboluri de service 1C.

Pentru a lucra cu caractere speciale, se utilizează listarea caracterelor 1C.

De exemplu, o valoare a șirului constând din două cuvinte:
Text Stander \u003d "primul rând" + simboluri. PC + "al doilea șir";

De exemplu, căutați transferul liniei 1C în text:
Poziție \u003d Găsire (stand de text, simboluri. PS);

Puteți lucra cu următoarele caractere speciale:

  • CR și LF.
    Înseamnă transferul șirului 1C. Frecvent găsite în fișiere text.
    Codul simbolului în ASCII - 0x0D și 0x0A, în Unicode - U + 000D și U + 000A.

    În limba 1c arata ca simboluri. CR și simboluri. Dacă sau în caractere rusești. Și simboluri. Pentru a transfera rândul 1C atunci când este creat în codul 1c, este suficient să utilizați PS.

Alte caractere de 1s.

Liniile din 1c "fizic" sunt utilizate în format Unicode (Unicod, http://ru.wikipedia.org/wiki/%De%ED%E8%ea%ee%E4).

Dacă nu ați întâlnit mai devreme cu "codificarea" de caractere, notăm pe scurt:

  • Când lucrați cu rânduri, calculatorul folosește numerele de litere și nu literele însele
  • Deoarece alfabetele "umane" rejoneze (engleză, rusă, greacă, chineză etc., și există și servicii "non-tipărire" 1c), atunci există mai multe opțiuni alfabete de calculator.Dintre care unul este Unicode, care include caracterele 1C din toate limbile.
  • Alphabet Unicode arată astfel:
    o Caractere comune "nepărat" 1c
    o Semne de pregătire și matematică
    o Figuri
    o alfabetul englez
    o Extra. Simbolurile 1c al alfabetului englez, care sunt utilizate în limbile europene (de exemplu, în limba germană)
    o alfabetul grecesc
    o alfabetul rus
    o ...

Dacă este necesar, liniile 1C pot fi utilizate toate caracterele 1C disponibile în Unicode.

În primul rând, le puteți forma de pe tastatură dacă aveți un aspect în Windows (în implicit, limba engleză și rusă este de obicei instalată în Rusia).

În al doilea rând, puteți apela cu următoarea recepție:

În al treilea rând, puteți lucra din codul programului. Simbolul funcției (Digit) returnează un simbol cu \u200b\u200bnumărul specificat, iar funcția CodeImpol (șir) returnează numărul de caractere din prima literă din șir. Dacă aveți nevoie de o altă literă în linie, atunci codemark (șir, număr de telefon).

De exemplu, adăugați un simbol ž la următoarea linie:
Text Stand \u003d "Berea bună în oraș" + simbol (381) + "Dobinek";
// Rezultat: "Berea bună în orașul Ždrobinek"

Șirul este unul dintre tipurile de date primitive în sistemele 1C: Enterprise 8. Variabile cu tip linia conțin text.

Valori ale variabilelor de tip liniaÎnchise în citate duble. Mai multe variabile de acest tip pot fi pliate.

Per1 \u003d "cuvânt 1";
Per2 \u003d "cuvânt 2";
Per3 \u003d per1 + "" + per2;

În cele din urmă Per3. va fi important Cuvânt 1 cuvânt 2 ".

În plus, în sisteme 1C: Enterprise 8 oferă funcții pentru lucrul cu linii. Luați în considerare principalul:

Intră (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funcția este concepută pentru a emite o casetă de dialog în care utilizatorul poate specifica valoarea tipul variabil Linia. Parametru <Строка> este obligatoriu și conține numele variabilei în care va fi înregistrat șirul introdus. Parametru <Подсказка> opțional este caseta de dialog Titlu. Parametru <Длина> opțional, spectacole lungime maxima Au intrat în liniile. Implicit este zero, ceea ce înseamnă o lungime nelimitată. Parametru <Многострочность> Opțional. Specifică modul de introducere a textului multi-linie: Adevărul - introduceți textul multi-line cu separatoare de rând; Lie - Introduceți o linie simplă.

Șirul poate fi introdus și, cunoscând codul de simbol în enicode codificarea:

Simbol(<КодСимвола>) — codul este introdus ca număr.

Litera \u003d simbol (1103); // I.

Există, de asemenea, o funcție inversă care vă permite să aflați codul oricărui simbol.

Codeimvol (<Строка>, <НомерСимвола>) — returnează numărul simbolului specificat în codarea Unicode sub forma unui număr.

Funcțiile de conversie a înregistrării textului:

VREGA (<Строка>) - Convertește toate caracterele șirului în registrul de sus.

NREGA (<Строка>) - Convertește toate caracterele șirului la literele mici.

Trega (<Строка>) - Convertește toate simbolurile șirului în registrul titlului. Adică primele litere din toate cuvintele sunt convertite în majuscule, iar literele rămase din cea inferioară.

Căutați și înlocuiți caracterele din șir:

A găsi(<Строка>, <ПодстрокаПоиска>) - Găsiți numărul de caractere al căutării unui substring de căutare. De exemplu:

Găsiți ("șir", "Oka"); // patru.

STRNET.<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - Găsirea numărului de caractere al căutării substringului de căutare, numărul de intrare este indicat în parametrul corespunzător. În acest caz, căutarea începe cu un simbol al cărui număr este specificat în parametru Instalare.Căutarea este posibilă de la început sau de la sfârșitul liniei. De exemplu:

Număr de intrare \u003d STRNET ( "Moarte", "O", direcție. În primul rând, 1, 4); // 7.

Strună (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - găsește în linia originală toate intrările de substring de căutare și îl înlocuiește cu înlocuirea înlocuirii.

RUST ("String", "Oka", ""); // Pagina.

Linie goală (<Строка>) - verifică șirul pentru prezența unor caractere semnificative. Dacă nu există caractere semnificative sau nu există caractere, atunci valoarea este returnată Adevărat. In caz contrar - Fals.

Strirling (<Строка>, <ПодстрокаПоиска>) - Calculează numărul de apariții ale subsolitului de căutare în linia sursă.

Strirling ( "Studiați, studiați și studiați din nou", "a studia" , "" ) ; // 3.

Strarb (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — solicită parametrii din șir. Șirul trebuie să conțină forme de substituție: "% 1 ..% n". Markerii de numerotare începe cu 1. Dacă valoarea parametrului Nedefinit, Stringul gol este substituit.

Strarb ( "Parametrul 1 \u003d% 1, parametrul 2 \u003d% 2", "1" , "2" ) ; // parametrul 1 \u003d 1, parametrul 2 \u003d 2

Funcții de conversie a rândului:

Un leu(<Строка>, <ЧислоСимволов>) - Returnează primele personaje de primă șir.

Drepturi (<Строка>, <ЧислоСимволов>) - Returnează cele mai recente caractere de șir.

Medii (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - Returnează un șir în lungime în<ЧислоСимволов>Începând cu simbolul<НачальныйНомер>.

Sokrel (<Строка>) Se taie din caractere nesemnificative în partea stângă a primului simbol de semnificație din rând.

Copp (<Строка>) - taie din caractere nesemnificative în partea dreaptă a ultimului simbol semnificativ din șir.

Sokrlp (<Строка>) - taie din caractere nesemnificative în partea stângă a primului simbol de semnificație din rând și la dreapta ultimului simbol semnificativ din rând.

Plotchikstka (<Строка>, <НомерСтроки>) - obține un șir de un șir multi-linie după număr.

Alte caracteristici:

STRDLIN (<Строка>) - Returnează numărul de caractere din șir.

Strokelost (<Строка>) - Returnează numărul de rânduri într-un șir multi-linie. Șirul este considerat nou dacă este separat de simbolul de traducere a rândului anterior.

Stresh (<Строка1>, <Строка2> ) - Compară două linii fără a se înregistra. Funcția funcționează în mod similar cu obiectul Comparaţie. Se intoarce:

  • 1 - Dacă prima linie este mai mare decât cea de-a doua
  • -1 - dacă a doua linie este mai mare decât prima
  • 0 - Dacă rândurile sunt egale

Grevă ("primul rând", "al doilea șir"); // unu

Mecanisme de lucru cu rânduri în cereri 1C puțin. În primul rând, liniile pot fi pliate. În al doilea rând, puteți lua un substring din șir. În al treilea rând, liniile pot fi comparate, inclusiv modelul. Este probabil tot ce puteți face cu rândurile.

String de adăugare

Pentru rânduri pliabile, operația "+" este utilizată în interogare. Puteți adăuga numai șiruri de lungime limitată.

Alegeți "Nume:" + contrapartide. Promovare ca coloană1 din director. Contrină ca contrapartide în cazul în care contrapartidele. Link \u003d & link

Funcție substring

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

Analogul funcției media () de la modelul de obiect. Funcția substringului () poate fi aplicată pe datele unui tip de șir și vă permite să alocați un fragment <Строки> Începând cu numărul simbolului <НачальнаяПозиция> (caracterele din rând sunt numerotate de la 1) și lungime <Длина> Simboluri. Rezultatul calculului funcției are un tip de șir de lungime variabilă, iar lungimea va fi considerată nelimitată dacă <Строка> are o lungime și un parametru nelimitat <Длина> Nu este o constantă sau depășește 1024.

Dacă lungimea șirului este mai mică decât cea indicată în al doilea parametru, funcția va returna un șir gol.

Atenţie! Folosind funcția de substring () Pentru a aduce șirurile de lungime nelimitată la lungimea limitată, nu se recomandă șirurile de lungime. În loc de ea, este mai bine să utilizați funcționarea de a aduce tipul de exprimare ().

Funcția ca.

Dacă trebuie să vă asigurați că recuzită de șir corespund anumitor criterii pe care le comparăm:

Alegeți contrapartidele. Numirea ca o coloană1 din cartea de referință. Contribuția ca contrapartide în cazul în care contrapartidele. Nume \u003d Gazprom

Și dacă aveți nevoie de mai multă comparație cunning? Nu numai la egalitate sau inegalitate, ci despre similitudinea unui anumit șablon? Este doar pentru aceasta, este creată o funcție.

Cum ar fi - operatorul verifică șirul pe modelul similar. Analog ca în SQL.

Operatorul vă permite să comparați valoarea expresiei specificată în partea stângă, cu șirul șablonului specificat în partea dreaptă. Valoarea expresiei trebuie să aibă un tip de șir. Dacă valoarea expresiei satisface șablonul - rezultatul operatorului va fi adevăr, altfel - o minciună.

Următoarele caractere din șirul șablonului sunt service și fac altceva decât simbolul șirului:

  • % (procent): o secvență care conține orice număr de caractere arbitrare;
  • _ (subliniere): un simbol arbitrar;
  • [...] (în paranteze pătrate unul sau mai multe caractere): orice caracter unic din paranteze pătrate enumerate în interiorul pătratului. Listele pot apărea intervale, de exemplu A-Z, adică un simbol arbitrar inclus în intervalul, inclusiv capetele gamei;
  • [^ ...] (în paranteze pătrate, pictograma de negare urmată de una sau mai multe caractere): orice singur caracter, cu excepția celor enumerate în pictograma negației.

Orice alt caracter înseamnă și nu transportă nici o sarcină suplimentară. Dacă unul dintre personajele enumerate ar trebui să fie scris ca el însuși, atunci el trebuie să precede<Спецсимвол>. De sine<Спецсимвол> (orice simbol adecvat) este definit în același operator după cuvinte cheie Specialist.