Nuove funzioni per lavorare con le stringhe. Nuove funzioni per lavorare con le stringhe Trova un'occorrenza di una sottostringa in una stringa 1c

Le informazioni in 1C possono essere presentate: un elenco, un documento, un registro...

Tuttavia, alla fine tutti questi oggetti sono costituiti da campi e i campi sono di tipo semplice: numero, stringa, data. E ci sono sempre più informazioni sotto forma di stringhe. Pertanto, devi lavorare con le stringhe più spesso.

Ora vedremo come lavorare con le stringhe del linguaggio 1C. Allo stesso tempo, proveremo varie opzioni per l'analisi automatica del testo.

Tipi di stringhe

Le linee possono essere di lunghezza limitata o illimitata. Se il valore della stringa viene preso da un attributo, questa restrizione è indicata nel tipo di attributo.

Se l'utente ha inserito una riga nel modulo, l'elemento del modulo potrebbe avere le caselle di controllo "Modalità multilinea" e "Modifica avanzata". Il primo significa che la riga può contenere caratteri "1C interruzione di riga (Invio)". Il secondo è che la riga può contenere altri simboli di servizio 1C, ad esempio TAB.

Se una riga viene presa da un file, ad esempio utilizzando ReadText(), anche la codifica diventa importante: quando si legge un file, è necessario specificare la codifica (UTF-8, KOI8, ecc.).

Simboli di servizio 1C

Per lavorare con caratteri speciali, viene utilizzata l'enumerazione Simboli 1C.

Ad esempio, un valore stringa composto da due parole:
TextString = "Prima riga" + Symbols.PS + "Seconda riga";

Ad esempio, cercando un'interruzione di riga 1C nel testo:
Posizione = Trova (Stringa di testo, Caratteri.PS);

Puoi lavorare con i seguenti caratteri speciali:

  • CR e LF
    Significano un'interruzione di riga 1C. Spesso si trova nei file di testo.
    Il codice carattere in ASCII è 0x0D e 0x0A, in Unicode - U+000D e U+000A.

    Nel linguaggio 1C appaiono come Symbols.CR e Symbols.LF, o in russo Symbols.VK e Symbols.PS. Per trasferire una linea 1C durante la creazione nel codice 1C, è sufficiente utilizzare PS.

Altri simboli 1C

Le stringhe in 1C sono utilizzate "fisicamente" nel formato Unicode (Unicode, http://ru.wikipedia.org/wiki/%DE%ED%E8%EA%EE%E4).

Se non hai mai incontrato la "codifica" dei caratteri prima, notiamo brevemente:

  • Quando si lavora con le stringhe, il computer utilizza i numeri delle lettere, non le lettere stesse.
  • Poiché esistono molti alfabeti “umani” (inglese, russo, greco, cinese, ecc., e ci sono anche simboli 1C di servizio e “non stampabili”), esistono diverse opzioni per gli alfabeti informatici, uno dei quali è Unicode, che include i simboli 1C in tutte le lingue
  • L'alfabeto Unicode è simile al seguente:
    o Simboli comuni di servizio 1C “non stampabili”.
    o Segni pregiudizievoli e matematica
    o Numeri
    o Alfabeto inglese
    o Aggiungi. Caratteri 1C dell'alfabeto inglese, utilizzati nelle lingue europee (ad esempio, tedesco)
    o Alfabeto greco
    o Alfabeto russo
    o...

Se necessario, nelle righe 1C è possibile utilizzare tutti i caratteri 1C disponibili in Unicode.

Innanzitutto, puoi digitarli dalla tastiera se hai un layout di tastiera installato in Windows (l'impostazione predefinita in Russia è solitamente inglese e russo).

In secondo luogo, puoi comporre il numero utilizzando la seguente tecnica:

In terzo luogo, puoi lavorare dal codice del programma. La funzione Character(Number) restituisce il carattere con il numero specificato e la funzione CharacterCode(String) restituisce il numero di carattere della prima lettera nella stringa. Se hai bisogno di un'altra lettera nella riga, allora CharacterCode(String, LetterNumber).

Ad esempio, aggiungi il carattere Ž alla riga seguente:
TextString = "Buona birra in città" + Character(381) + "drobinek";
//Risultato: "Buona birra a Ždrobinek"

Una stringa è uno dei tipi di dati primitivi nei sistemi 1C:Enterprise 8. Variabili con il tipo linea contenere testo.

Digitare valori variabili linea sono racchiusi tra virgolette doppie. È possibile aggiungere diverse variabili di questo tipo.

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

Infine Per3 significherà " Parola 1 Parola 2″.

Inoltre, i sistemi 1C:Enterprise 8 forniscono funzioni per lavorare con le stringhe. Vediamo i principali:

InvioStringa(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — la funzione è progettata per visualizzare una finestra di dialogo in cui l'utente può specificare il valore di una variabile di tipo Linea. Parametro <Строка> è obbligatorio e contiene il nome della variabile in cui verrà scritta la stringa immessa. Parametro <Подсказка> facoltativo: questo è il titolo della finestra di dialogo. Parametro <Длина> facoltativo, mostra la lunghezza massima della stringa di input. Il valore predefinito è zero, il che significa lunghezza illimitata. Parametro <Многострочность> opzionale. Definisce la modalità di immissione del testo su più righe: Vero: immissione di testo su più righe con separatori di riga; Falso: inserisci una stringa semplice.

Puoi inserire una stringa se conosci il codice carattere in Unicode:

Simbolo(<КодСимвола>) — il codice viene inserito come numero.

Lettera= Simbolo(1103) ; // IO

Esiste anche una funzione inversa che permette di scoprire il codice di un simbolo.

CodiceSimbolo(<Строка>, <НомерСимвола>) — restituisce il numero Unicode del carattere specificato come numero.

Funzioni di conversione maiuscole/minuscole del testo:

VReg(<Строка>) — Converte tutti i caratteri di una stringa in maiuscolo.

NReg(<Строка>) — Converte tutti i caratteri di una stringa in minuscolo.

TReg(<Строка>) — converte tutti i caratteri della stringa in maiuscole e minuscole. Cioè, le prime lettere di tutte le parole vengono convertite in maiuscolo e le rimanenti lettere vengono convertite in minuscolo.

Funzioni per cercare e sostituire i caratteri in una stringa:

Trovare(<Строка>, <ПодстрокаПоиска>) — trova il numero di carattere dell'occorrenza della sottostringa di ricerca. Per esempio:

Trova ("Stringa", "oka"); // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — trova il numero di carattere dell'occorrenza della sottostringa di ricerca, il numero di occorrenza è indicato nel parametro corrispondente. In questo caso la ricerca inizia con il carattere il cui numero è specificato nel parametro Posizione iniziale. La ricerca è possibile dall'inizio o dalla fine della stringa. Per esempio:

Numero4 occorrenze = Str Trova ( "Difensiva", "informazioni su", direzione della ricerca. Dall'inizio, 1, 4); // 7

StrSostituisci(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – trova tutte le occorrenze della sottostringa di ricerca nella stringa di origine e la sostituisce con la sottostringa di sostituzione.

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

Riga vuota(<Строка>) – controlla la stringa per i caratteri significativi. Se non sono presenti caratteri significativi o non sono presenti caratteri, viene restituito il valore VERO. Altrimenti - Menzogna.

StrNumberOccorrenze(<Строка>, <ПодстрокаПоиска>) – Calcola il numero di occorrenze della sottostringa di ricerca nella stringa di origine.

StrNumberOccorrenze ( "Studia, studia e studia ancora", "studio" , "" ) ; // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — sostituisce i parametri in una stringa in base al numero. La riga deve contenere indicatori di sostituzione nel formato: “%1..%N”. La numerazione dei marcatori inizia da 1. Se il valore del parametro Non definito, viene sostituita una stringa vuota.

ModelloStr ( "Parametro 1 = %1, Parametro 2 = %2", "1" , "2" ) ; // Parametro 1= 1, Parametro 2 = 2

Funzioni di conversione delle stringhe:

Un leone(<Строка>, <ЧислоСимволов>) – restituisce i primi caratteri di una stringa.

Giusto(<Строка>, <ЧислоСимволов>) – restituisce gli ultimi caratteri di una stringa.

Mercoledì(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – restituisce una stringa di lunghezza<ЧислоСимволов>, a partire dal simbolo<НачальныйНомер>.

AbbrL(<Строка>) taglia i caratteri non significativi a sinistra del primo carattere significativo nella stringa.

Abbreviazione(<Строка>) — taglia i caratteri non significativi a destra dell'ultimo carattere significativo della riga.

AbbrLP(<Строка>) – taglia i caratteri non significativi a sinistra del primo carattere significativo della riga e a destra dell'ultimo carattere significativo della riga.

StrGetString(<Строка>, <НомерСтроки>) – Ottiene una stringa multilinea in base al numero.

Altre caratteristiche:

ForzaLunghezza(<Строка>) – restituisce il numero di caratteri nella stringa.

StrNumeroRiga(<Строка>) – restituisce il numero di righe in una stringa su più righe. Una riga è considerata nuova se è separata dalla precedente da un carattere di fine riga.

StrConfront(<Строка1>, <Строка2> ) – confronta due stringhe senza distinzione tra maiuscole e minuscole. Una funzione funziona in modo simile a un oggetto Confronto di valori. Ritorna:

  • 1 - se la prima riga è maggiore della seconda
  • -1 - se la seconda riga è maggiore della prima
  • 0 - se le stringhe sono uguali

StrCompare("Prima riga", "Seconda riga"); // 1

Implementato nella versione 8.3.6.1977.

Abbiamo ampliato l'insieme di funzioni progettate per funzionare con le stringhe. Lo abbiamo fatto per offrirti strumenti più avanzati per l'analisi dei dati delle stringhe. Le nuove funzioni saranno comode e utili nei compiti tecnologici di analisi del testo. Nelle attività relative all'analisi del testo che contiene dati in formato formattato. Potrebbe trattarsi dell'analisi di alcuni file ricevuti dall'apparecchiatura o, ad esempio, dell'analisi di un registro tecnologico.

Potresti eseguire tutte le azioni che eseguono nuove funzioni prima. Utilizzando algoritmi più o meno complessi scritti in un linguaggio integrato. Pertanto, le nuove funzioni non forniscono funzionalità fondamentalmente nuove. Tuttavia, consentono di ridurre la quantità di codice e renderlo più semplice e comprensibile. Inoltre, consentono di accelerare l'esecuzione delle azioni. Perché le funzioni implementate nella piattaforma funzionano, ovviamente, più velocemente di un algoritmo simile scritto in un linguaggio integrato.

Funzione di formattazione StrTemplate()

Questa funzione sostituisce i parametri in una stringa. La necessità di una tale conversione si presenta spesso, ad esempio, quando si visualizzano messaggi di avviso. La sintassi per questa funzione è la seguente:

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

<Шаблон>- questa è la stringa in cui è necessario sostituire le rappresentazioni dei parametri.

<Значение1> , ... <Значение10>- si tratta di parametri (massimo dieci), le cui rappresentazioni devono essere sostituite nella stringa.

Per indicare un punto specifico nel modello in cui desideri eseguire la sostituzione, devi utilizzare marcatori come %1, ... %10. Il numero di marcatori coinvolti nel modello e il numero di parametri contenenti valori devono corrispondere.

Ad esempio, il risultato dell'esecuzione di tale operatore:

ci sarà una riga:

Errore dati sulla riga 2 (tipo di data richiesto)

Funzione per lavorare con le stringhe StrCompare()

Questa funzione confronta due stringhe senza distinzione tra maiuscole e minuscole. Ad esempio, in questo modo:

Potresti eseguire la stessa azione in precedenza utilizzando l'oggetto Value Comparison:

Tuttavia, l’utilizzo della nuova funzionalità sembra più semplice. Inoltre, la funzione, a differenza dell'oggetto Value Comparison, funziona sia nel thin client che nel web client.

Funzioni per lavorare con le stringhe StrStartsWith(), StrEndsAt()

Queste funzioni determinano se una stringa inizia con una sottostringa specificata o se termina con una sottostringa specificata. L'algoritmo per queste funzioni non è difficile da implementare in un linguaggio embedded, ma la loro presenza consente di scrivere un codice più pulito e comprensibile. E funzionano più velocemente.

Ad esempio, sono convenienti da utilizzare nell'istruzione If:

Funzioni per lavorare con le stringhe StrDivide(), StrConnect()

Queste funzioni dividono una stringa in parti utilizzando un delimitatore specificato. O viceversa, uniscono più righe in una, inserendo tra di loro il separatore selezionato. Sono utili per creare o analizzare registri e giornali tecnologici. Ad esempio, puoi facilmente analizzare una voce di registro tecnologico in parti adatte per ulteriori analisi:

Funzione per lavorare con le stringhe StrFind()

Invece della vecchia funzione Find(), abbiamo implementato una nuova funzione che ha funzionalità aggiuntive:

  • Cerca in diverse direzioni (dall'inizio, dalla fine);
  • Cerca da una posizione specificata;
  • Cerca un'occorrenza con un numero specificato (seconda, terza, ecc.).

In effetti, duplica le capacità della vecchia funzione. Questo viene fatto per mantenere la compatibilità con i moduli compilati nelle versioni precedenti. Si consiglia di non utilizzare più la vecchia funzione Trova().

Di seguito è riportato un esempio che utilizza le nuove funzionalità di ricerca. La ricerca inversa è utile quando è necessaria l'ultima parte di una stringa formalizzata, ad esempio il nome file completo in un URL. E la ricerca da una posizione specifica aiuta nei casi in cui è necessario cercare in un frammento noto e non nell'intera riga.

Il tipo String si trova in tutti i linguaggi di programmazione. È primitivo e in 1C ci sono molte funzioni per lavorarci. In questo articolo esamineremo in dettaglio vari modi di lavorare con i tipi di stringa in 1C 8.3 e 8.2 utilizzando esempi.

Linea

Per convertire una variabile di qualsiasi tipo in una stringa, esiste una funzione con lo stesso nome “String()”. Il parametro di input sarà la variabile stessa, di cui si dovrà ottenere la rappresentazione in stringa.

String(False) // restituisce "No"
String(12345) // restituisce "12.345"
String(DataCorrente()) //"21/07/2017 11:55:36"

È possibile convertire in una stringa non solo i tipi primitivi, ma anche altri, ad esempio elementi di directory e documenti.

SokrLP, SokrL, SokrP

I parametri di input di queste funzioni sono una variabile di tipo stringa. Le funzioni rimuovono i caratteri non significativi (spazi, ritorni a capo, ecc.): rispettivamente dal lato sinistro e destro, solo dal lato sinistro e solo dal lato destro.

Abbreviazione(" Gli spazi verranno rimossi su entrambi i lati ") // "Gli spazi verranno rimossi su entrambi i lati"
Abbreviazione(" Gli spazi su entrambi i lati verranno rimossi ") // " Gli spazi a sinistra verranno rimossi "
Abbreviazione(" Gli spazi su entrambi i lati verranno rimossi ") // " Gli spazi a destra verranno rimossi"

Leone, Destra, Media

Queste funzioni consentono di tagliare parte di una stringa. La funzione "Left()" restituirà la parte di una stringa dal lato sinistro della lunghezza specificata. La funzione "Right()" è simile, ma ritaglia da destra. La funzione “Avg()” permette di specificare il numero del carattere da cui verrà selezionata la riga e la sua lunghezza.

Lev("Variabile stringa", 4) // restituisce "Str"
Right("String variabile", 7) // restituisce "variabile"
Medio("Variabile stringa", 2, 5) // restituisce "troko"

StrLength

La funzione determina il numero di caratteri contenuti in una variabile stringa.

StrLength("Word") // il risultato dell'esecuzione sarà il numero 5

Trovare

La funzione consente di cercare parte di una stringa in una variabile stringa. Il valore restituito sarà un numero che mostra la posizione dell'inizio della stringa trovata. Se non viene trovata alcuna corrispondenza, viene restituito zero.

Tieni presente che la ricerca fa distinzione tra maiuscole e minuscole. Se è presente più di un'occorrenza della sottostringa di ricerca nella stringa originale, la funzione restituirà l'inizio della prima occorrenza.

Trova("uno, due, uno, due, tre", "due") // la funzione restituirà il numero 6

Riga vuota

L'utilizzo di questa funzione consente di determinare se una stringa è vuota. I caratteri minori come lo spazio, il ritorno a capo e altri non vengono presi in considerazione.

VuotoString("Pupkin Vasily Ivanovich") // la funzione restituirà il valore False
VuotoString(" ") // la funzione restituirà il valore True

VReg, NReg, TReg

Queste funzioni sono molto utili quando si confrontano e convertono variabili stringa. "Vreg()" restituirà la stringa originale in maiuscolo, "HPreg()" in minuscolo e "TReg()" la formatterà in modo che il primo carattere di ogni singola parola sia in maiuscolo e tutti i caratteri successivi siano in maiuscolo.

VReg("DIRETTORE GENERALE") // valore restituito - "DIRETTORE GENERALE"
NReg ("DIRETTORE CEO") // valore restituito - "CEO"
TREG("CEO DIRECTOR") // valore restituito - "Direttore generale"

PaginaSostituisci

Questa funzione è analoga alla sostituzione negli editor di testo. Ti consente di sostituire un carattere o un set di caratteri con un altro nelle variabili stringa.

StrReplace("rosso, bianco, giallo", ","", ";") // restituisce "rosso; bianco; giallo"

StrNumeroLinee

La funzione consente di determinare il numero di righe separate da ritorni a capo in una variabile di testo.

Il ciclo nell'esempio seguente eseguirà tre cicli perché la funzione LineNumberRow restituirà il valore 3:

Per ind = 1 per StrNumber di stringhe ("Line1" + Symbols.PS + "Line2" + Symbols.PS + "Line3") Ciclo
<тело цикла>
FineCiclo;

StrGetString

Questa funzione funziona con il testo multilinea allo stesso modo della precedente. Ti consente di ottenere una stringa specifica da una variabile di testo.

StrGetString("Stringa1" + Caratteri.PS + "Stringa2" + Caratteri.PS + "Stringa3", 2) // restituisce "Stringa2"

PageNumberOccorrenze

La funzione conta il numero di occorrenze di un carattere o di una sottostringa nella stringa di ricerca.

StrNumberAttachments("a;b;c;d; ", ";") // la funzione restituirà il numero 4

Simbolo e codice simbolo

Queste funzioni consentono di ottenere un carattere tramite il suo codice nella codifica Unicode, nonché di determinare questo codice tramite il carattere stesso.

SymbolCode("A") // la funzione restituirà il numero 1.040
CharacterCode(1040) // la funzione restituirà "A"

Attività comuni quando si lavora con le stringhe

Concatenazione di stringhe

Per combinare più stringhe (per eseguire la concatenazione), è sufficiente utilizzare l'operatore di addizione.

“Line 1″ + “Line 2″ //il risultato della somma di due righe sarà “Line 1 Line 2”

Conversione del tipo

Per convertire un tipo in una stringa, ad esempio un collegamento a un elemento di directory, un numero, ecc., è sufficiente utilizzare la funzione “String()”. Anche funzioni come “ScrLP()” convertono le variabili in una stringa, ma immediatamente eliminando i caratteri non significativi.

String(1000) // restituisce "1.000"

Tieni presente che durante la conversione di un numero in una stringa, il programma aggiunge automaticamente uno spazio che separa le migliaia. Per evitare ciò, è possibile utilizzare le seguenti costruzioni:

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

String(Formato(1000,"HG=")) // restituisce "1000"

virgolette in una stringa

Molto spesso dovrai affrontare la necessità di specificare le virgolette in una variabile stringa. Può trattarsi del testo della richiesta scritto nel configuratore o semplicemente di una variabile. Per risolvere questo problema, devi solo impostare due virgolette.

Header = String("Horns and Hooves LLC - questi siamo noi!") // restituirà "Horns and Hooves LLC - questi siamo noi!"

Multilinea, interruzione di riga

Per creare testo su più righe, è sufficiente aggiungere interruzioni di riga (Symbols.PS).

Testo multilinea = “Prima riga” + Simboli.PS + “Seconda riga”

Come rimuovere gli spazi

Per rimuovere gli spazi a destra o a sinistra è possibile utilizzare la funzione “ScrAP()” (oltre a “ScrL()” e “ScrP()”):

StringNoSpaces = Abbreviation(" Molte lettere ") // la funzione restituirà il valore "Molte lettere"

Se, dopo aver convertito un numero in una stringa, è necessario rimuovere gli spazi unificatori, utilizzare la seguente costruzione:

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

I programmatori utilizzano spesso anche la seguente costruzione, che consente di rimuovere o sostituire con un altro carattere tutti gli spazi in una variabile di testo:

StringNoSpaces = StrReplace("ciao","") // restituisce "ciao"

Confronto tra stringhe tra loro

Puoi confrontare i termini con il solito segno uguale. Il confronto fa distinzione tra maiuscole e minuscole.

"Ciao" = "ciao" // restituisce False
"Ciao" = "Ciao" // restituisce Vero
"Ciao" = "Arrivederci" // restituirà False

Le righe in 1C 8.3 nel linguaggio integrato 1C rappresentano valori di tipo primitivo Linea. I valori di questo tipo contengono una stringa Unicode di lunghezza arbitraria. Le variabili di tipo stringa sono un insieme di caratteri racchiusi tra virgolette.

Esempio 1. Creiamo una variabile stringa con testo.

StringVariable = "Ciao mondo!";

Funzioni per lavorare con stringhe in 1s 8.3

In questa sezione verranno fornite le principali funzioni che permettono di modificare le righe in 1c, o analizzare le informazioni in esse contenute.

StrLength

ForzaLunghezza(<Строка>) . Restituisce il numero di caratteri contenuti nella stringa passata come parametro.

Esempio 2. Contiamo il numero di caratteri nella riga "Hello world!"

String = "Ciao mondo!"; NumerodiCaratteri = StrLength(String); Rapporto(NumeroCaratteri);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione del numero di caratteri nella riga: 11.

AbbrL

AbbrL(<Строка>) . Taglia i caratteri non significativi a sinistra del primo carattere significativo nella stringa.
Personaggi secondari:

  • spazio;
  • spazio unificatore;
  • tabulazione;
  • ritorno a capo;
  • traslazione di linea;
  • traduzione del modulo (pagina).

Esempio 3. Rimuovi tutti gli spazi dal lato sinistro della riga "world!" e aggiungi la riga "Ciao".

String = Abbreviazione("mondo!"); Stringa = "Ciao"+Stringa; Rapporto(Stringa);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione della riga "Hello world!" sullo schermo.

Abbreviato

Abbreviazione(<Строка>) . Taglia i caratteri non significativi a destra del primo carattere significativo nella stringa.

Esempio 4. Forma dalle righe "Ciao" e "pace!" la frase "Ciao mondo!"

Linea = Abbreviazione("Ciao ")+" "+ Abbreviazione("mondo!"); Rapporto(Stringa);

AbbrLP

AbbrLP(<Строка>) . Taglia i caratteri non significativi a destra del primo carattere significativo nella stringa e taglia anche i caratteri non significativi a sinistra del primo carattere significativo nella stringa. Questa funzione viene utilizzata più spesso delle due precedenti, poiché è più universale.

Esempio 5. Rimuovere i caratteri non significativi a sinistra e a destra nel nome della controparte.

Controparte = Directory.Controparti.Trova per dettagli("TIN", "0777121211"); AccountObject = Account.GetObject(); ControparteOggetto.Nome = AbbrLP(ControparteOggetto.Nome); AccountObject.Write();

un leone

Un leone(<Строка>, <ЧислоСимволов>) . Ottiene i primi caratteri della stringa, il numero di caratteri è specificato nel parametro Numero di caratteri.

Esempio 6. Lascia entrare la struttura Dipendente contenere il nome, il cognome e il patronimico del dipendente. Ottieni una stringa con cognome e iniziali.

NomeIniziale = Lev(Dipendente.Nome, 1); Iniziale Patronimico = Leone(Dipendente. Patronimico, 1); NomeCompleto = Dipendente.Cognome + " " + Nome Iniziale + "." + Iniziale centrale + ".";

Giusto

Giusto(<Строка>, <ЧислоСимволов>) . Ottiene gli ultimi caratteri di una stringa, il numero di caratteri specificati nel parametro Numero di caratteri. Se il numero di caratteri specificato supera la lunghezza della stringa, viene restituita l'intera stringa.

Esempio 7. Lascia che una data nel formato "aaaammgg" venga scritta alla fine di una variabile stringa, ottieni una stringa con la data e convertila nel tipo data.

String = "Data corrente: 20170910"; StringDate = Diritti(String, 8); Data = Data(StringDate);

Mercoledì

Mercoledì(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Ottiene una sottostringa dalla stringa passata come parametro Linea, a partire dal carattere il cui numero è specificato nel parametro NumeroIniziale e la lunghezza passata nel parametro Numero di caratteri. La numerazione dei caratteri in una riga inizia da 1. Se nel parametro NumeroIniziale viene specificato un valore minore o uguale a zero, il parametro assume il valore 1. Se il parametro Numero di caratteri non è specificato, vengono selezionati i caratteri fino alla fine della riga.

Esempio 8. Lascia che la variabile stringa che inizia dalla nona posizione contenga il codice regionale, dovresti ottenerlo e scriverlo in una riga separata.

String = "Regione: 99 Mosca"; Regione = Avg(Stringa, 9, 2);

Pagina Trova

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Cerca una sottostringa specificata in una stringa, restituendo il numero di posizione del primo carattere della sottostringa trovata. Diamo un'occhiata ai parametri di questa funzione:

  • Linea. Stringa di origine;
  • Cerca sottostringa. Cerca sottostringa;
  • Direzione della ricerca. Specifica la direzione in cui cercare una sottostringa in una stringa. Può assumere valori:
    • Direzione della ricerca. Dall'inizio;
    • Direzione ricerca.Fine;
  • Posizione iniziale. Specifica la posizione nella stringa in cui inizia la ricerca;
  • NumeroOccorrenze. Specifica il numero di occorrenze della sottostringa cercata nella stringa di origine.

Esempio 9. Nella riga "Hello world!" Determina la posizione dell'ultima occorrenza del carattere "e".

PositionNumber = StrFind("Ciao mondo!", "e", SearchDirection.End); Rapporto(NumeroPosizione);

Il risultato dell'esecuzione di questo codice sarà quello di visualizzare il numero dell'ultima occorrenza del simbolo "e": 9.

VReg

VReg(<Строка>) . Converte tutti i caratteri nella stringa specificata in 1s8 in maiuscolo.

Esempio 10: Converti la stringa "ciao mondo!" al maiuscolo.

StringVreg = VReg("ciao mondo!"); Rapporto(StringVreg);

Il risultato dell’esecuzione di questo codice sarà la visualizzazione della riga “HELLO WORLD!”

NReg

NReg(<Строка>) . Converte tutti i caratteri della stringa specificata in 1s 8 in minuscolo.

Esempio 11: Converti la stringa "HELLO WORLD!" in minuscolo.

StringNreg = NReg("CIAO MONDO!"); Rapporto(StringVreg);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione della riga "ciao mondo!"

Treg

TReg(<Строка>) . Converte una stringa nel modo seguente: il primo carattere di ogni parola viene convertito in maiuscolo, i restanti caratteri della parola vengono convertiti in minuscolo.

Esempio 12: Scrivi in ​​maiuscolo le prime lettere delle parole nella riga "ciao mondo!"

StringTreg = TReg("ciao mondo!"); Rapporto(StringTreg);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione della riga "Hello World!"

Simbolo

Simbolo(<КодСимвола>) . Ottiene un carattere tramite il relativo codice Unicod.

Esempio 13. Aggiungi sinistra e destra alla riga "Hello World!" simbolo ★

StringWithStars = Simbolo("9733")+"Ciao Mondo!"+Simbolo("9733"); Rapporto(StringWithStars);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione della riga “★Hello World!★”

Codice simbolo

CodiceSimbolo(<Строка>, <НомерСимвола>) . Ottiene il codice del carattere Unicode dalla stringa specificata nel primo parametro, situata nella posizione specificata nel secondo parametro.

Esempio 14. Scopri il codice dell'ultimo carattere nella riga "Hello World!"

String = "Ciao mondo!"; CodiceCarattere = CodiceCarattere(Stringa, StrLength(Stringa)); Notifica(CodiceCarattere);

Il risultato dell’esecuzione di questo codice sarà la visualizzazione del codice simbolo “!” - 33.

Riga vuota

Riga vuota(<Строка>) . Controlla se la stringa è composta solo da caratteri non significativi, ovvero se è vuota.

Esempio 15. Controlla se una stringa composta da tre spazi è vuota.

Vuoto = StringaVuota(" "); Rapporto(Vuoto);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione della parola "Sì" (un'espressione stringa di un valore logico VERO).

PaginaSostituisci

StrSostituisci(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Trova tutte le occorrenze della sottostringa di ricerca nella stringa di origine e la sostituisce con la sottostringa di sostituzione.

Esempio 16. Nella riga "Hello World!" sostituire la parola “Pace” con la parola “Amici”.

String = StrReplace("Ciao mondo!", "Mondo", "Amici"); Rapporto(Stringa);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione della riga "Ciao amici!"

StrNumeroLinee

StrNumeroRiga(<Строка>) . Consente di contare il numero di righe in una stringa multilinea. Per passare a una nuova riga in 1s 8, utilizzare il simbolo PS(carattere di nuova riga).

Esempio 17. Determinare il numero di righe nel testo:
"Prima linea
Seconda linea
Terza riga"

Numero = StrNumeroString("Prima riga"+Caratteri.PS +"Seconda riga"+Simboli.PS +"Terza riga"); Rapporto(Numero);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione del numero di righe del testo: 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . Ottiene una riga in una stringa su più righe in base al relativo numero. La numerazione delle righe inizia da 1.

Esempio 18. Ottieni l'ultima riga del testo:
"Prima linea
Seconda linea
Terza riga"

Testo = "Prima riga" + Simboli PS + "Seconda riga" + Simboli PS + "Terza riga"; LastRow = StrGetRow(Testo, StrNumberLines(Testo)); Report(UltimaRiga);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione della riga “Terza riga”.

PageNumberOccorrenze

StrNumberOccorrenze(<Строка>, <ПодстрокаПоиска>) . Restituisce il numero di occorrenze della sottostringa specificata in una stringa. La funzione distingue tra maiuscole e minuscole.

Esempio 19. Determina quante volte la lettera "c" appare nella riga "Righe in 1s 8.3 e 8.2", indipendentemente dal caso.

Linea = "Linee in 1s 8.3 e 8.2"; NumberOccurrences = StrNumberOccurrences(Vreg(String), "With"); Rapporto(Numerooccorrenze);

Il risultato dell'esecuzione di questo codice sarà la visualizzazione del numero di occorrenze: 2.

La pagina inizia con

StrIniziaCon(<Строка>, <СтрокаПоиска>) . Controlla se la stringa passata nel primo parametro inizia con la stringa nel secondo parametro.

Esempio 20. Determinare se il TIN della controparte selezionata inizia con il numero 1. Inserire la variabile Controparte Controparti.

TIN = Controparte.TIN; StartsUNits = StrStartsWith(TIN, "1"); Se inizia con le unità Then //Il tuo codice EndIf;

Fine della pagina

StrEndsWith(<Строка>, <СтрокаПоиска>) . Controlla se la stringa passata nel primo parametro termina con la stringa nel secondo parametro.

Esempio 21. Determinare se il TIN della controparte selezionata termina con il numero 2. Inserire la variabile Controparte viene memorizzato un riferimento a un elemento della directory Controparti.

TIN = Controparte.TIN; TerminaConDue = StrFineCon(TIN, "2"); If EndsInTwo Then //Il tuo codice EndIf;

Pagina divisa

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Divide una stringa in parti utilizzando i caratteri delimitatori specificati e scrive le stringhe risultanti in una matrice. Il primo parametro memorizza la stringa sorgente, il secondo contiene la stringa contenente il delimitatore e il terzo indica se le stringhe vuote devono essere scritte nell'array (per impostazione predefinita VERO).

Esempio 22. Prendiamo una stringa contenente numeri separati dal simbolo “;”, otteniamo un array di numeri dalla stringa.

Stringa = "1; 2; 3"; Array = StrDivide(Stringa, ";"); Per Count = 0 Per Array.Quantity() - 1 tentativo di ciclo Array[Count] = Number(AbbrLP(Array[Count])); Matrice di eccezioni[Sch] = 0; EndAttemptsEndCycle;

Come risultato dell'esecuzione, si otterrà un array con numeri da 1 a 3.

PaginaConnetti

StrConnect(<Строки>, <Разделитель>) . Converte la matrice di stringhe dal primo parametro in una stringa contenente tutti gli elementi della matrice separati dal delimitatore specificato nel secondo parametro.

Esempio 23. Utilizzando l'array di numeri dell'esempio precedente, ottieni la stringa originale.

Per Account = 0 Per Array.Quantity() - 1 Ciclo Array[Act] = String(Array[Act]); FineCiclo; Riga = StrConnect(Array, "; ");