- Observación sobre la sintaxis "Buscar subcadenas en función de un separador"
- Función ExtractString y UNICODE
Permite: - extraer una subcadena de una cadena en función de un separador de cadenas especificado.
- buscar subcadenas en una cadena en función de un separador de cadenas especificado.
Observaciones: - La búsqueda de subcadenas es más rápida que la extracción de subcadenas.
- Puede utilizar un array de separadores. Esto le permite utilizar diferentes separadores al mismo tiempo.
Ejemplos de uso: - extraer datos leídos en un archivo externo,
- extraer información devuelta por las funciones HListFile o HListKey,
- extraer datos de una lista que contiene diferentes datos en la misma línea.
Country is string = "France, Italy, Germany, Spain" ExtractString(Country, 1, ", ") // Returns "France" ExtractString(Country, 2, ", ") // Returns "Italy" ExtractString(Country, 3, ", ") // Returns "Germany" ExtractString(Country, 4, ", ") // Returns "Spain" ExtractString(Country, 5, ", ") // Returns EOT
MyString is string = "Strawberry, Raspberry, Chocolate and Banana" ExtractString(MyString, 1, [", " , "," , " and "]) // Returns "Strawberry" ExtractString(MyString, 2, [", " , "," , " and "]) // Returns "Raspberry" ExtractString(MyString, 3, [", " , "," , " and "]) // Returns "Chocolate" ExtractString(MyString, 4, [", " , "," , " and "]) // Returns "Banana"
Sintaxis
Extraer una subcadena en función de un separador de cadenas Ocultar los detalles
<Result> = ExtractString(<Initial string> , <Index> [, <Separator> [, <Search direction>]])
<Result>: Cadena de caracteres Corresponde a:- La subcadena entre el separador en el <Índice> - 1 y el separador en <Índice> si no se especifica el parámetro <Dirección de búsqueda> o es igual a FromBeginning.
- La subcadena entre el separador en el <Índice> - 1 y el separador en <Índice> desde el final de la cadena si el parámetro <Dirección de búsqueda> corresponde a FromEnd.
- Toda la <Cadena inicial> si <Cadena inicial> no contiene ningún <Separador> e <Índice> es igual a 1.
- La constante EOT si <Índice> es mayor que el número de separadores en la cadena.
<Initial string>: Cadena de caracteres Cadena de caracteres (hasta 2 GB) que contiene la cadena a extraer. <Index>: Entero Posición de la subcadena a extraer. Por ejemplo, si el separador es un TAB e <Índice> es igual a 2, la subcadena se extraerá entre el primer y segundo TAB. <Separator>: Cadena de caracteres opcional o array de cadenas opcional Este parámetro puede corresponder a:- La cadena que delimita las subcadenas. Esta cadena no se incluye en el resultado. Este separador distingue entre mayúsculas y minúsculas.
- Un array de cadenas. Las diferentes cadenas del array delimitan las subcadenas. Los separadores no se incluyen en el resultado. Estos separadores distinguen entre mayúsculas y minúsculas.
Si no se especifica este parámetro, el separador predeterminado es TAB. <Search direction>: Constante opcional Dirección de búsqueda:
| | FromBeginning (Valor predeterminado) | Busca del primer al último carácter de la cadena. | FromEnd | Busca del último al primer carácter de la cadena. |
Observaciones Observación sobre la sintaxis "Buscar subcadenas en función de un separador" - Este tipo de búsqueda solo se puede utilizar en cadenas constantes. Por lo tanto, se debe utilizar un elemento del proyecto (variable, control, campo, etc.) como cadena inicial.
- Cuando se inicia una búsqueda con las constantes firstRank o lastRank, la información de la búsqueda se almacena en la memoria hasta que se hayan examinado todas las subcadenas. Se recomienda utilizar este tipo de búsqueda solo cuando se deben examinar todas las subcadenas.
Función ExtractString y UNICODE Los parámetros <Cadena inicial> y <Separador> pueden corresponder a: - cadenas ANSI.
- cadenas UNICODE.
- buffers.
Se pueden utilizar cadenas ANSI, cadenas Unicode y buffers en los diferentes parámetros de la función. La siguiente regla de conversión se utiliza para sistemas Ansi (Windows o Linux): - Si al menos una de las cadenas es un buffer, todas las cadenas se convierten en buffers y la operación se realiza con buffers.
- Si no se cumple la primera condición y hay al menos una cadena de caracteres Unicode, todas las cadenas se convierten en Unicode y la operación se realiza en Unicode (la conversión se realiza con el conjunto de caracteres actual, si es necesario).
- De lo contrario, la operación se realiza en Ansi.
La regla de conversión utilizada para los sistemas Unicode es la siguiente: - Si al menos una de las cadenas es un buffer, todas las cadenas se convierten en buffers y la operación se realiza con buffers.
- De lo contrario, la operación se realiza en Unicode.
Recordatorio: Los parámetros de idioma se definen al llamar a la función ChangeCharset.
Esta página también está disponible para…
|
|
|