Una cadena es uno de los tipos de datos primitivos en los sistemas 1C:Enterprise 8 Variables con el tipo. línea contener texto.

Escriba valores de variables línea están entre comillas dobles. Múltiples variables de este tipo se puede plegar.

Per1 = "Palabra 1";
Per2 = "Palabra 2";
Por3 = Por1 + " " + Por2 ;

Como resultado por3 significará " Palabra 1 Palabra 2”.

Además, los sistemas 1C:Enterprise 8 proporcionan funciones para trabajar con cadenas. Veamos los principales:

Ingresar cadena (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — la función está diseñada para mostrar un cuadro de diálogo en el que el usuario puede especificar el valor de una variable de tipo Línea. Parámetro <Строка> es obligatorio y contiene el nombre de la variable en la que se escribirá la cadena ingresada. Parámetro <Подсказка> opcional: este es el título del cuadro de diálogo. Parámetro <Длина> Opcional, muestra la longitud máxima de la cadena de entrada. El valor predeterminado es cero, lo que significa longitud ilimitada. Parámetro <Многострочность> opcional. Define el modo de entrada de texto multilínea: Verdadero: entrada de texto multilínea con separadores de línea; Falso: ingrese una cadena simple.

Puede ingresar una cadena si conoce el código de carácter en Unicode:

Símbolo(<КодСимвола>) — el código se ingresa como un número.

Letra= Símbolo(1103);

// I

También hay una función inversa que le permite averiguar el código de un símbolo.<Строка>, <НомерСимвола>) — Código de símbolo (

devuelve el número Unicode del carácter especificado como un número.

Funciones de conversión de mayúsculas y minúsculas:<Строка>) VReg(

— Convierte todos los caracteres de una cadena a mayúsculas.<Строка>) NReg(

— Convierte todos los caracteres de una cadena a minúsculas.<Строка>) TReg(

— convierte todos los caracteres de la cadena a mayúsculas y minúsculas. Es decir, las primeras letras de todas las palabras se convierten a mayúsculas y las letras restantes se convierten a minúsculas.

Funciones para buscar y reemplazar caracteres en una cadena:<Строка>, <ПодстрокаПоиска>) Encontrar(

— busca el número de carácter de la aparición de la subcadena de búsqueda. Por ejemplo:

Buscar ("Cadena", "oka");<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) // 4 StrBuscar(— busca el número de carácter de la aparición de la subcadena de búsqueda, el número de aparición se indica en el parámetro correspondiente. En este caso, la búsqueda comienza con el carácter cuyo número se especifica en el parámetro

Posición inicial. La búsqueda es posible desde el principio o el final de la cadena. Por ejemplo: Número4 Ocurrencias = Str Buscar (

"Defensividad"<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) , "acerca de", Dirección de búsqueda. Desde el inicio, 1, 4);

StrReplace ("Cadena", "oka", "");

// página<Строка>) Cadena vacía( – comprueba la cadena en busca de caracteres significativos. Si no hay caracteres significativos, o no hay ningún carácter, se devuelve el valor Verdadero . De lo contrario -.

Mentir<Строка>, <ПодстрокаПоиска>) StrNumberOcurrencias(

– Calcula el número de apariciones de la subcadena de búsqueda en la cadena de origen. StrNumberOcurrencias ("aprende, estudia y vuelve a estudiar"

, "estudiar" , "" ) ; // 3<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — PlantillaStr( sustituye parámetros en una cadena por número. La línea debe contener marcadores de sustitución del formato: “%1..%N”. La numeración de los marcadores comienza desde 1. Si el valor del parámetro Indefinido

, se sustituye una cadena vacía. PlantillaStr (, "1" , "2" ) ; "Parámetro 1 = %1, Parámetro 2 = %2"

// Parámetro 1= 1, Parámetro 2 = 2

Funciones de conversión de cadenas:<Строка>, <ЧислоСимволов>) León(

– devuelve los primeros caracteres de una cadena.<Строка>, <ЧислоСимволов>) Bien(

– devuelve los últimos caracteres de una cadena.<Строка>, <НачальныйНомер>, <ЧислоСимволов>) Miércoles(<ЧислоСимволов>– devuelve una cadena de longitud<НачальныйНомер>.

, empezando por el símbolo<Строка>) AbrL(

recorta los caracteres no significativos a la izquierda del primer carácter significativo de la cadena.<Строка>) Abr(

— corta los caracteres insignificantes a la derecha del último carácter significativo de la línea.<Строка>) AbbrLP(

– corta los caracteres insignificantes a la izquierda del primer carácter significativo de la línea y a la derecha del último carácter significativo de la línea.<Строка>, <НомерСтроки>) StrGetString(

– Obtiene una cadena multilínea por número.

Otras características:<Строка>) Longitud de cadena (

– devuelve el número de caracteres de la cadena.<Строка>) StrNumberRow(

– devuelve el número de líneas en una cadena de varias líneas. Una línea se considera nueva si está separada de la anterior por un carácter de nueva línea.<Строка1>, <Строка2> ) StrComparar( – compara dos cadenas sin distinguir entre mayúsculas y minúsculas. Una función funciona de manera similar a un objeto. Comparación de valores

  • . Devoluciones:
  • 1 - si la primera línea es mayor que la segunda
  • -1 - si la segunda línea es mayor que la primera

0 - si las cadenas son iguales

StrCompare("Primera línea", "Segunda línea");

// 1

Existen pocos mecanismos para trabajar con cadenas en consultas 1C. Primero, se pueden agregar las líneas. En segundo lugar, puedes tomar una subcadena de una cadena. En tercer lugar, se pueden comparar cadenas, incluso por patrón. Probablemente eso sea todo lo que se puede hacer con cuerdas.

Adición de cadenas

Para agregar filas en una consulta, se utiliza la operación "+". Sólo puedes agregar cadenas de longitud limitada.

SELECCIONE "Nombre: " + Contrapartes Nombre COMO Columna 1 DESDE Directorio Contrapartes COMO Contrapartes DONDE Enlace = &Enlace.<Строка>, <НачальнаяПозиция>, <Длина>)

Función de subcadena <Строки> SUBCADE( <НачальнаяПозиция> (los caracteres de una línea están numerados comenzando desde 1) y longitud <Длина> personajes. El resultado del cálculo de la función tiene un tipo de cadena de longitud variable y la longitud se considerará ilimitada si <Строка> tiene longitud y parámetros ilimitados <Длина> no es una constante ni mayor que 1024.

Si la longitud de la cadena es menor que la especificada en el segundo parámetro, la función devolverá una cadena vacía.

¡Atención! No se recomienda utilizar la función SUBSTRING() para convertir cadenas de longitud ilimitada en cadenas de longitud limitada. En su lugar, es mejor utilizar el operador de conversión EXPRESS().

Función similar

Si necesitamos asegurarnos de que un atributo de cadena cumpla con ciertos criterios, lo comparamos:

SELECCIONE Contrapartes Nombre COMO Columna 1 DEL Directorio Contrapartes COMO Contrapartes DONDE Contrapartes = "Gazprom".

Pero ¿qué pasa si necesitas una comparación más sutil? ¿No sólo igualdad o desigualdad, sino similitud con un patrón determinado? Precisamente para esto se creó la función SIMILAR.

LIKE: operador para comprobar la similitud de una cadena con un patrón. Análogo de LIKE en SQL.

El operador SIMILAR le permite comparar el valor de la expresión especificada a la izquierda con la cadena de patrón especificada a la derecha. El valor de la expresión debe ser de tipo cadena. Si el valor de la expresión coincide con el patrón, el resultado del operador será VERDADERO, de lo contrario será FALSO.

Los siguientes caracteres en la cadena de patrón son caracteres de servicio y tienen un significado diferente al carácter de cadena:

  • % (porcentaje): una secuencia que contiene cualquier número de caracteres arbitrarios;
  • _ (guión bajo): un carácter arbitrario;
  • […] (uno o más caracteres entre corchetes): cualquier carácter incluido dentro de los corchetes. La enumeración puede contener rangos, por ejemplo a-z, es decir, un carácter arbitrario incluido en el rango, incluidos los extremos del rango;
  • [^...] (entre corchetes, un signo de negación seguido de uno o más caracteres): cualquier carácter distinto de los enumerados después del signo de negación.

Cualquier otro símbolo significa sí mismo y no conlleva ninguna carga adicional. Si uno de los caracteres enumerados debe escribirse como sí mismo, debe ir precedido de<Спецсимвол>. Mí mismo<Спецсимвол>(cualquier símbolo adecuado) se define en la misma declaración después palabra clave SÍMBOLO ESPECIAL.

El tipo String se encuentra en todos los lenguajes de programación. Es primitivo y en 1C hay muchas funciones para trabajar con él. En este artículo veremos más de cerca. varias maneras trabajar con tipos de cadenas en 1C 8.3 y 8.2 usando ejemplos.

Línea

Para convertir una variable de cualquier tipo en una cadena, existe una función del mismo nombre “String()”. El parámetro de entrada será la propia variable, cuya representación en cadena debe obtenerse.

Cadena(Falso) // devuelve "No"
Cadena(12345) // devuelve "12,345"
Cadena (Fecha actual ()) //"21/07/2017 11:55:36″

Es posible convertir no sólo tipos primitivos en una cadena, sino también otros, por ejemplo, elementos de directorios y documentos.

SokrLP, SokrL, SokrP

Los parámetros de entrada de estas funciones son una variable de tipo cadena. Las funciones eliminan caracteres insignificantes (espacios, retornos de carro, etc.): de izquierda a derecha lado derecho, sólo en el lado izquierdo y sólo en el derecho, respectivamente.

Abreviatura("Se eliminarán los espacios en ambos lados") // "Se eliminarán los espacios en ambos lados"
Abreviatura("Se eliminarán los espacios de ambos lados") // "Se eliminarán los espacios de la izquierda"
Abreviatura("Se eliminarán los espacios de ambos lados") // "Se eliminarán los espacios de la derecha"

Leo, Derecha, Medio

Estas funciones le permiten recortar parte de una cuerda. La función "Left()" devolverá la porción de una cadena desde su lado izquierdo de la longitud especificada. La función "Derecha()" es similar, pero recorta desde la derecha. La función “Avg()” le permite especificar el número del carácter a partir del cual se seleccionará la línea y su longitud.

Lev("variable de cadena", 4) // devuelve "Str"
Right("variable de cadena", 7) // devuelve "variable"
Medio("variable de cadena", 2, 5) // devuelve "troko"

Longitud de cadena

La función determina la cantidad de caracteres contenidos en una variable de cadena.

StrLength("Palabra") // el resultado de la ejecución será el número 5

Encontrar

La función permite buscar parte de una cadena en una variable de cadena. El valor de retorno será un número que muestra la posición del comienzo de la cadena encontrada. Si no se encuentra ninguna coincidencia, se devuelve cero.

Tenga en cuenta que la búsqueda distingue entre mayúsculas y minúsculas. Si hay más de una aparición de la subcadena de búsqueda en la cadena original, la función devolverá el comienzo de la primera aparición.

Buscar("uno, dos, uno, dos, tres", "dos") // la función devolverá el número 6

cadena vacía

El uso de esta función le permite determinar si una cadena está vacía. No se tienen en cuenta los caracteres menores como espacios, retornos de carro y otros.

EmptyString("Pupkin Vasily Ivanovich") // la función devolverá el valor False
EmptyString(" ") // la función devolverá el valor True

VReg, NReg, TReg

Estas funciones son muy útiles al comparar y convertir variables de cadena. "Vreg()" devolverá la cadena original en mayúsculas, "HPreg()" en minúsculas y "TReg()" la formateará para que el primer carácter de cada palabra individual esté en mayúscula y todos los caracteres siguientes estén en mayúscula.

VReg("DIRECTOR GENERAL") // valor de retorno - "DIRECTOR GENERAL"
NReg(“CEO DIRECTOR”) // valor de retorno – “CEO”
TREG(“CEO DIRECTOR”) // valor de retorno – “Director General”

Reemplazar página

Esta función es análoga a la sustitución en editores de texto. Le permite reemplazar un carácter o conjunto de caracteres por otro en variables de cadena.

StrReplace("rojo, blanco, amarillo", ","", ";") // devuelve "rojo; blanco; amarillo"

StrNumberLines

La función le permite determinar el número de líneas separadas por retornos de carro en una variable de texto.

El bucle en el siguiente ejemplo pasará por tres rondas porque la función LineNumberRow devolverá el valor 3:

Para ind = 1 por StrNumber of Strings("Line1" + Symbols.PS + "Line2" + Symbols.PS + "Line3") Ciclo
<тело цикла>
Fin del ciclo;

StrGetString

Esta función funciona con texto multilínea de la misma forma que la anterior. Le permite obtener una cadena específica de una variable de texto.

StrGetString("Cadena1" + Caracteres.PS + "Cadena2" + Caracteres.PS + "Cadena3", 2) // devuelve "Cadena2"

Número de páginaOcurrencias

La función cuenta el número de apariciones de un carácter o subcadena en la cadena de búsqueda.

StrNumberAttachments("a;b;c;d; ", ";") // la función devolverá el número 4

Símbolo y código de símbolo

Estas funciones le permiten obtener un carácter por su código en codificación Unicode, así como determinar este código por el carácter mismo.

SymbolCode("A") // la función devolverá el número 1.040
CharacterCode(1040) // la función devolverá “A”

Tareas comunes al trabajar con cuerdas

Concatenar cadenas

Para combinar varias cadenas (para realizar la concatenación), basta con utilizar el operador de suma.

“Línea 1″ + “Línea 2″ //el resultado de sumar dos líneas será “Línea 1 Línea 2”

Conversión de tipo

Para convertir un tipo en una cadena, por ejemplo, un enlace a un elemento de directorio, un número, etc., basta con utilizar la función “String()”. Funciones como “ScrLP()” también convertirán variables en una cadena, pero inmediatamente cortarán los caracteres insignificantes.

Cadena(1000) // devuelve "1000"

Tenga en cuenta que al convertir un número en una cadena, el programa agrega automáticamente un espacio que separa los mil. Para evitar esto, puede utilizar las siguientes construcciones:

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

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

Citas en una cadena

Muy a menudo tendrás que lidiar con la necesidad de especificar comillas en una variable de cadena. Puede ser el texto de la solicitud escrito en el configurador o simplemente una variable. Para resolver este problema, sólo necesita poner dos comillas.

Header = String("Horns and Hooves LLC - ¡somos nosotros!") // devolverá "Horns and Hooves LLC - ¡somos nosotros!"

Multilínea, salto de línea

Para crear texto de varias líneas, simplemente agréguele saltos de línea (Symbols.PS).

MultilineText = “Primera línea” + Símbolos.PS + “Segunda línea”

Cómo eliminar espacios

Para eliminar espacios a la derecha o a la izquierda, puede utilizar la función “ScrAP()” (así como “ScrL()” y “ScrP()”):

StringNoSpaces = Abreviatura("Muchas letras") // la función devolverá el valor "Muchas letras"

Si después de convertir un número en una cadena necesita eliminar espacios que no se rompen, utilice la siguiente construcción:

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

Los programadores también suelen utilizar la siguiente construcción, que permite eliminar o reemplazar con otro carácter todos los espacios en una variable de texto:

StringNoSpaces = StrReplace("hola","") // devuelve "hola"

Comparando cadenas entre sí

Puede comparar términos con el signo igual habitual. La comparación distingue entre mayúsculas y minúsculas.

"Hola" = "hola" // devuelve Falso
"Hola" = "Hola" // devuelve Verdadero
"Hola" = "Adiós" // devolverá Falso

Las filas en 1C 8.3 en el lenguaje 1C integrado son valores de tipo primitivo Línea. Los valores de este tipo contienen una cadena Unicode de longitud arbitraria. Las variables de tipo cadena son un conjunto de caracteres entre comillas.

Ejemplo 1. Creemos una variable de cadena con texto.

StringVariable = "¡Hola mundo!";

Funciones para trabajar con cadenas en 1s 8.3

Esta sección proporcionará las funciones principales que le permitirán cambiar líneas en 1c o analizar la información contenida en ellas.

Longitud de cadena

Otras características:<Строка>) . Devuelve el número de caracteres contenidos en la cadena pasada como parámetro.

Ejemplo 2. Contemos el número de caracteres en la línea "¡Hola mundo!"

Cadena = "¡Hola mundo!"; NúmerodeCaracteres = StrLength(String); Informe (Número de caracteres);

El resultado de ejecutar este código será la visualización del número de caracteres en la línea: 11.

AbrL

, empezando por el símbolo<Строка>) . Recorta los caracteres no significativos a la izquierda del primer carácter significativo de la cadena.
Personajes menores:

  • espacio;
  • espacio sin rupturas;
  • tabulación;
  • retorno de carro;
  • avance de línea;
  • traducción del formulario (página).

Ejemplo 3. Elimine todos los espacios del lado izquierdo de la línea "¡mundo!" y agregue la línea "Hola".

Cadena = Abreviatura ("mundo!"); Cadena = "Hola"+Cadena; Informe (cadena);

El resultado de ejecutar este código será la visualización de la línea "¡Hola mundo!" en la pantalla.

Abreviado

recorta los caracteres no significativos a la izquierda del primer carácter significativo de la cadena.<Строка>) . Recorta los caracteres no significativos a la derecha del primer carácter significativo de la cadena.

Ejemplo 4. Forma a partir de las líneas "¡Hola" y "paz!" la frase "¡Hola mundo!"

Línea = Abreviatura("Hola ")+" "+ Abreviatura(" ¡mundo!"); Informe (cadena);

AbbrLP

— corta los caracteres insignificantes a la derecha del último carácter significativo de la línea.<Строка>) . Recorta los caracteres no significativos a la derecha del primer carácter significativo de la cadena y también recorta los caracteres no significativos a la izquierda del primer carácter significativo de la cadena. Esta función se utiliza con más frecuencia que las dos anteriores, ya que es más universal.

Ejemplo 5. Elimine los caracteres insignificantes a la izquierda y a la derecha del nombre de la contraparte.

Contraparte = Directorios. Contrapartes.Buscar por detalles("TIN", "0777121211"); AccountObject = Cuenta.GetObject(); CounterpartyObject.Name = AbbrLP(CounterpartyObject.Name); AccountObject.Write();

León

Funciones de conversión de cadenas:<Строка>, <ЧислоСимволов>) . Obtiene los primeros caracteres de la cadena, el número de caracteres se especifica en el parámetro Número de personajes.

Ejemplo 6. Dejar entrar la estructura. Empleado contener el nombre, apellido y patronímico del empleado. Obtenga una cadena con apellido e iniciales.

NombreInicial = Lev(Empleado.Nombre, 1); Inicial patronímico = Leo(Empleado. Patronímico, 1); Nombre Completo = Empleado.Apellido + " " + Inicial del Nombre + "."

+ Inicial del segundo nombre + ".";

– devuelve los primeros caracteres de una cadena.<Строка>, <ЧислоСимволов>) Bien Número de personajes.. Obtiene los últimos caracteres de una cadena, el número de caracteres especificados en el parámetro

Si el número de caracteres especificado excede la longitud de la cadena, se devuelve la cadena completa. Ejemplo 7. Deje que se escriba una fecha en el formato “aaaammdd” al final de una variable de cadena, obtenga una cadena con la fecha y conviértala a tipo.

Fecha Cadena = " fecha actual

: 20170910"; StringDate = Derechos(String, 8); Fecha = Fecha(StringDate);

– devuelve los últimos caracteres de una cadena.<Строка>, <НачальныйНомер>, <ЧислоСимволов>) Miércoles Línea. Obtiene una subcadena de la cadena pasada como parámetro , comenzando por el carácter cuyo número se especifica en el parámetro Número inicial Número de personajes. y la longitud pasada al parámetro , comenzando por el carácter cuyo número se especifica en el parámetro La numeración de caracteres en una línea comienza desde 1. Si en el parámetro Se especifica un valor menor o igual a cero, entonces el parámetro toma el valor 1. Si el parámetro Número de personajes

Ejemplo 8. Deje que la variable de cadena que comienza en la novena posición contenga el código de región, debe obtenerlo y escribirlo en una línea separada.

Cadena = "Región: 99 Moscú"; Región = Promedio(Cadena, 9, 2);

Buscar página

Buscar ("Cadena", "oka");<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Busca una subcadena especificada en una cadena y devuelve el número de posición del primer carácter de la subcadena encontrada. Veamos los parámetros de esta función:

  • Línea. Cadena fuente;
  • Subcadena de búsqueda. Subcadena de búsqueda;
  • Dirección de búsqueda. Especifica la dirección para buscar una subcadena en una cadena. Puede tomar valores:
    • Dirección de búsqueda. Desde el inicio;
    • Búsqueda. Dirección final;
  • Posición inicial. Especifica la posición en la cadena en la que comienza la búsqueda;
  • Número de ocurrencias. Especifica el número de aparición de la subcadena buscada en la cadena de origen.

Ejemplo 9. En la línea "¡Hola mundo!" Determine la posición de la última aparición del carácter "y".

PositionNumber = StrFind("¡Hola mundo!", "y", SearchDirection.End); Informe (Número de posición);

El resultado de ejecutar este código será mostrar el número de la última aparición del símbolo “y”: 9.

VReg

Funciones de conversión de mayúsculas y minúsculas:<Строка>) . Convierte todos los caracteres de la cadena especificada en 1s8 a mayúsculas.

Ejemplo 10: convierta la cadena "¡hola mundo!" a mayúsculas.

StringVreg = VReg("¡hola mundo!"); Informe (StringVreg);

El resultado de ejecutar este código será la visualización de la línea "¡HOLA MUNDO!"

NReg

— Convierte todos los caracteres de una cadena a mayúsculas.<Строка>) . Convierte todos los caracteres de la cadena especificada en 1s8 a minúsculas.

Ejemplo 11: Convierta la cadena "¡HOLA MUNDO!" a minúsculas.

StringNreg = NReg("¡HOLA MUNDO!"); Informe (StringVreg);

El resultado de ejecutar este código será la visualización de la línea "¡hola mundo!"

Treg

— Convierte todos los caracteres de una cadena a minúsculas.<Строка>) . Convierte una cadena de la siguiente manera: el primer carácter de cada palabra se convierte a mayúsculas, los caracteres restantes de la palabra se convierten a minúsculas.

Ejemplo 12. Hacer capitalizado primero letras de palabras en la línea "¡hola mundo!"

StringTreg = TReg("¡hola mundo!"); Informe (StringTreg);

El resultado de ejecutar este código será la visualización de la línea "¡Hola mundo!"

Símbolo

Símbolo(<КодСимвола>) . Obtiene un carácter por su código Unicod.

Ejemplo 13. Agregue izquierda y derecha a la línea "¡Hola mundo!" símbolo ★

StringWithStars = Símbolo("9733")+"¡Hola mundo!"+Símbolo("9733"); Informe (StringWithStars);

El resultado de ejecutar este código será la visualización de la línea “★Hello World!★”

Código de símbolo

También hay una función inversa que le permite averiguar el código de un símbolo.<Строка>, <НомерСимвола>) . Obtiene el código de carácter Unicode de la cadena especificada en el primer parámetro, ubicada en la posición especificada en el segundo parámetro.

Ejemplo 14. Descubra el código del último carácter de la línea "¡Hola mundo!"

Cadena = "¡Hola mundo!"; Código de carácter = Código de carácter (Cadena, Longitud de cadena (Cadena)); Notificar (Código de carácter);

El resultado de ejecutar este código será la visualización del código de símbolo “!” - 33.

cadena vacía

// página<Строка>) . Comprueba si la cadena consta únicamente de caracteres insignificantes, es decir, si está vacía.

Ejemplo 15. Compruebe si una cadena que consta de tres espacios está vacía.

Vacío = Cadena Vacía(" "); Informe (vacío);

El resultado de ejecutar este código será la visualización de la palabra "Sí" (una expresión de cadena de un valor lógico – comprueba la cadena en busca de caracteres significativos. Si no hay caracteres significativos, o no hay ningún carácter, se devuelve el valor).

Reemplazar página

"Defensividad"<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Encuentra todas las apariciones de la subcadena de búsqueda en la cadena de origen y la reemplaza con la subcadena de reemplazo.

Ejemplo 16. En la línea "¡Hola mundo!" sustituir la palabra “Paz” por la palabra “Amigos”.

String = StrReplace("¡Hola mundo!", "Mundo", "Amigos"); Informe (cadena);

El resultado de ejecutar este código será la visualización de la línea "¡Hola amigos!"

StrNumberLines

– devuelve el número de caracteres de la cadena.<Строка>) . Le permite contar el número de líneas en una cadena de varias líneas. Para ir a una nueva línea en 1s 8, use el símbolo PD(carácter de nueva línea).

Ejemplo 17. Determine el número de líneas del texto:
"Primera línea
Segunda linea
Tercera línea"

Número = StrNumberString("Primera línea"+Caracteres.PS +"Segunda línea"+Símbolos.PS +"Tercera línea"); Informe (Número);

El resultado de ejecutar este código será la visualización del número de líneas en el texto: 3

StrGetString

– corta los caracteres insignificantes a la izquierda del primer carácter significativo de la línea y a la derecha del último carácter significativo de la línea.<Строка>, <НомерСтроки>) . Obtiene una línea en una cadena multilínea por su número. La numeración de líneas comienza desde 1.

Ejemplo 18. Obtenga la última línea del texto:
"Primera línea
Segunda linea
Tercera línea"

Texto = "Primera línea" + Símbolos PS + "Segunda línea" + Símbolos PS + "Tercera línea"; Última fila = StrGetRow(Texto, StrNumberLines(Texto)); Informe (Última línea);

El resultado de ejecutar este código será la visualización de la línea "Tercera línea".

Número de páginaOcurrencias

Mentir<Строка>, <ПодстрокаПоиска>) . Devuelve el número de apariciones de la subcadena especificada en una cadena. La función distingue entre mayúsculas y minúsculas.

Ejemplo 19. Determina cuántas veces aparece la letra “c” en la línea “Líneas en 1s 8.3 y 8.2”, independientemente de su caso.

Línea = "Líneas en 1s 8.3 y 8.2"; NúmeroOcurrencias = StrNumberOcurrencias(Vreg(Cadena), "Con"); Informe (Número de ocurrencias);

El resultado de ejecutar este código será la visualización del número de ocurrencias: 2.

La página comienza con

StrStartsWith(<Строка>, <СтрокаПоиска>) . Comprueba si la cadena pasada en el primer parámetro comienza con la cadena del segundo parámetro.

Ejemplo 20. Determinar si el TIN de la contraparte seleccionada comienza con el número 1. Dejemos entrar la variable Contraparte Contrapartes.

TIN = Contraparte.TIN; StartsUNits = StrStartsWith(TIN, "1"); Si comienza con unidades Entonces //Tu código EndIf;

Fin de página activado

Cuerdas con (<Строка>, <СтрокаПоиска>) . Comprueba si la cadena pasada en el primer parámetro termina con la cadena del segundo parámetro.

Ejemplo 21. Determinar si el TIN de la contraparte seleccionada termina en el número 2. Dejemos entrar la variable Contraparte se almacena una referencia a un elemento del directorio Contrapartes.

TIN = Contraparte.TIN; TerminaConDos = StrEndsWith(TIN, "2"); If EndsInTwo Then //Tu código EndIf;

División de página

StrDivid(<Строка>, <Разделитель>, <ВключатьПустые>) . Divide una cadena en partes utilizando los caracteres delimitadores especificados y escribe las cadenas resultantes en una matriz. El primer parámetro almacena la cadena fuente, el segundo la cadena que contiene el separador, el tercero indica si se debe escribir en la matriz lineas vacias(por defecto – comprueba la cadena en busca de caracteres significativos. Si no hay caracteres significativos, o no hay ningún carácter, se devuelve el valor).

Ejemplo 22. Tengamos una cadena que contenga números separados por el símbolo “;”, obtengamos una matriz de números de la cadena.

Cadena = "1; 2; 3"; Matriz = StrDivide(Cadena, ";"); Para Count = 0 By Array.Quantity() - 1 intento de ciclo Array[Count] = Number(AbbrLP(Array[Count]));

Matriz de excepciones[Sch] = 0;

EndAttemptsEndCycle;

Como resultado de la ejecución se obtendrá una matriz con números del 1 al 3.<Строки>, <Разделитель>) PáginaConectar

StrConectar(

. Convierte la matriz de cadenas del primer parámetro en una cadena que contiene todos los elementos de la matriz separados por el delimitador especificado en el segundo parámetro.

Ejemplo 23. Usando la matriz de números del ejemplo anterior, obtenga la cadena original.

Para Cuenta = 0 Por Array.Quantity() - 1 Ciclo Array[Act] = String(Array[Act]); Fin del ciclo; Fila = StrConnect(Matriz, "; ");

Implementado en la versión 8.3.6.1977.

Hemos ampliado el conjunto de funciones diseñadas para trabajar con cadenas. Hicimos esto para brindarle herramientas más avanzadas para analizar datos de cadenas. Las nuevas funciones serán convenientes y útiles en tareas tecnológicas de análisis de texto. En tareas relacionadas con el análisis de texto que contiene datos en formato formateado. Podría ser un análisis de algunos archivos recibidos del equipo o, por ejemplo, un análisis de un registro tecnológico.

Esta función sustituye parámetros en una cadena. La necesidad de realizar esta conversión surge a menudo, por ejemplo, al mostrar mensajes de advertencia. La sintaxis de esta función es la siguiente:

, "estudiar" , "" ) ; // 3<Шаблон>, <Значение1-Значение10>)

<Шаблон>- esta es la cadena en la que necesitas sustituir las representaciones de parámetros.

<Значение1> , ... <Значение10>- estos son parámetros (máximo diez), cuyas representaciones deben sustituirse en la cadena.

Para indicar un lugar específico en la plantilla donde desea realizar la sustitución, debe usar marcadores como %1, ... %10. La cantidad de marcadores involucrados en la plantilla y la cantidad de parámetros que contienen valores deben coincidir.

Por ejemplo, el resultado de ejecutar dicho operador:

habrá una línea:

Error de datos en la línea 2 (tipo de fecha requerida)

Función para trabajar con cadenas StrCompare()

Esta función compara dos cadenas sin distinguir entre mayúsculas y minúsculas. Por ejemplo, así:

Podrías realizar la misma acción antes usando el objeto Comparación de valores:

Sin embargo, usar la nueva función parece más fácil. Y además, la función, a diferencia del objeto Comparación de valores, funciona tanto en el cliente ligero como en el cliente web.

Funciones para trabajar con cadenas StrStartsWith(), StrEndsAt()

Estas funciones determinan si una cadena comienza con una subcadena específica o si una cadena termina con una subcadena específica. El algoritmo para estas funciones no es difícil de implementar en un lenguaje integrado, pero su presencia permite escribir código más limpio y comprensible. Y trabajan más rápido.

Por ejemplo, son convenientes de usar en la declaración If:

Funciones para trabajar con cadenas StrDivide(), StrConnect()

Estas funciones dividen una cadena en partes usando un delimitador específico. O viceversa, combinan varias líneas en una, insertando entre ellas el separador seleccionado. Son convenientes para crear o analizar registros y revistas tecnológicas. Por ejemplo, puede analizar fácilmente una entrada de registro tecnológico en partes adecuadas para un análisis posterior:

Función para trabajar con cadenas StrFind()

En lugar de la antigua función Find(), implementamos nueva característica, que tiene características adicionales:

  • Buscar en diferentes direcciones (desde el principio, desde el final);
  • Buscar desde una posición específica;
  • Busque una ocurrencia con un número específico (segundo, tercero, etc.).

De hecho, duplica las capacidades de la función anterior. Esto se hace para mantener la compatibilidad con módulos compilados en versiones anteriores. Se recomienda que ya no utilice la antigua función Buscar().

A continuación se muestra un ejemplo que utiliza las nuevas capacidades de búsqueda. La búsqueda inversa es útil cuando necesita el último fragmento de una cadena formalizada, como el nombre completo del archivo en una URL. Y buscar desde una posición específica ayuda en los casos en que necesita buscar en un fragmento conocido y no en toda la línea.