|
|
|
|
- Sintaxis 1: Navegar por las subcadenas separadas por un separador
- Sintaxis 2 y 3: Encontrar las apariciones de una cadena dentro de otra cadena
- PARA CADA CUERDA, PARA CADA POSICIÓN y UNICODE
- Consejo: ¿Cómo hacer que get el separador?
- Consejo: Navegación de una cadena XML
PARA TODOS/PARA CADA declaración (navegar por las cadenas)
El PARA CADA UNO se usa para navegar por las cadenas de acuerdo a diferentes métodos: - Navegar por las subcadenas separadas por un separador.
- Examinar las ocurrencias de una cadena dentro de otra.
Observación: Se aceptan las frases PARA TODOS, PARA CADA UNO .. En esta documentación se utilizará la sentencia FOR EACH , pero puede sustituirse por FOR ALL. La instrucción FOR EACH también se puede utilizar para navegar por los objetos.net que implementan la interfaz IEnumerable. // Retrieves the list of libraries loaded in memory LibraryList is string = ListDLL() // For each library FOR EACH STRING ALibrary OF LibraryList SEPARATED BY CR // Adds the library into the TABLE_Library table TableAddLine(TABLE_Library, ExtractString(ALibrary, 1, TAB)) END
// The "C:\MyDocuments\Exports.TXT" file contains the list // of exported products, separated by ";" // Retrieve each product ExportedProduct is string = fLoadText("C:\MyDocuments\Exports.TXT") FormerPosition is int // For each product FOR EACH POSITION CurrentPosition OF ";" IN ExportedProduct // Adds the product into ProductList ListAdd(LIST_Product, ... ExportedProduct[[FormerPosition + 1 TO CurrentPosition - 1]] // Store the position FormerPosition = CurrentPosition END
FOR EACH STRING sc1, nPosition, nCounter OF "A.B.C" SEPARATED BY "." Trace(sc1 + " - " + nPosition + " - " + nCounter) END // Returns // A - 1 - 1 // B - 3 - 2 // C - 5 - 3
s is string = "I am a sentence"+CR+"on several lines" FOR EACH STRING s2 OF s SEPARATED BY [" ",CR] Trace(s2) END
// Returns // I // am // a // sentence // on // several // lines
Sintaxis
Navegar por las subcadenas separadas por un separador Ocultar los detalles
FOR EACH STRING <Substring> [, <Position> [, <Counter>]] OF <Initial string> [SEPARATED BY <Separator>] [<Direction>]
... END
<FOR EACH STRING>: Marca el inicio del bloque de instrucciones. <Substring>: Cadena Variable que contiene el texto de la subcadena. No hay necesidad de declarar este Variable. <Position>: Número entero Variable que contiene la posición de la subcadena en la cadena. No hay necesidad de declarar este Variable. <Counter>: El entero Variable que contiene el número de iteraciones. No hay necesidad de declarar este Variable. <Initial string>: Cadena que contiene el texto completo. La iteración no tiene lugar si esta cadena está vacía. <Separator>: Cadena opcional que contiene el separador de subcadenas (TAB por Default).Para especificar varios separadores, utilice la siguiente sintaxis: [<Separator1> , ..., <Separator N>] Por ejemplo: [TAB, CR] <Direction>: Indicador opcional para la dirección de navegación: | | FromBeginning (valor predeterminado) | Examinar la cadena desde el primer carácter hasta el último. | FromEnd | Examinar la cadena desde el último carácter hasta el primero. |
Navegando por las ocurrencias de una cadena dentro de otra cadena Ocultar los detalles
FOR EACH POSITION <Position> OF <Search> IN <Initial String> [<Direction>]
... END
<FOR EACH POSITION>: Marca el inicio del bloque de instrucciones. <Position>: El entero Variable que contiene la posición actual. No hay necesidad de declarar este Variable. <Search>: Buscaba una cuerda. <Initial string>: Cadena que contiene el texto completo. <Direction>: Indicador opcional para la dirección de navegación: | | FromBeginning (valor predeterminado) | Examinar la cadena desde el primer carácter hasta el último. | FromEnd | Examinar la cadena desde el último carácter hasta el primero. |
Navegando por las ocurrencias de una cadena dentro de otra cadena Ocultar los detalles
FOR EACH POSITION <Position> OF <Search> IN <Initial String> WITH <Options>
... END
<FOR EACH POSITION>: Marca el inicio del bloque de instrucciones. <Position>: El entero Variable que contiene la posición actual. No hay necesidad de declarar este Variable. <Search>: Buscaba una cuerda. <Initial string>: Cadena que contiene el texto completo. <Options>: Indicador para las opciones seleccionadas (combinable): | | FromBeginning (valor predeterminado) | Examinar la cadena desde el primer carácter hasta el último. | FromEnd | Examinar la cadena desde el último carácter hasta el primero. | WholeWord | Buscar toda la palabra | IgnoreCase | Búsqueda que no distingue entre mayúsculas y minúsculas (mayúsculas / minúsculas) |
Observaciones Sintaxis 1: Navegar por las subcadenas separadas por un separador Busca todas las subcadenas de <cadena inicial> separadas por <separador>.. La búsqueda no se realiza si <Initial String> es una cadena vacía. Para cada iteración: - <Subcadena> se rellena con la subcadena actual.
- <Posición> contiene la posición de la subcadena dentro de la cadena.
- <Contador> contiene el número de iteraciones realizadas.
El comportamiento es indefinido si la cadena inicial o el separador se modifica durante la búsqueda. Observación: Si <Cadena inicial> termina con el separador, <Subcadena> devuelve una cadena vacía al final. En caso contrario, <Substring> corresponde al último elemento comprobado. Sintaxis 2 y 3: Encontrar las apariciones de una cadena dentro de otra cadena Busca todas las apariciones de la subcadena <Búsqueda> en la <cadena inicial>. En cada iteración, la posición de la subcadena actual se asigna a la <Posición> Variable. El comportamiento es indefinido si la cadena inicial o la cadena buscada se modifica durante la búsqueda. PARA CADA CUERDA, PARA CADA POSICIÓN y UNICODE <Subcadena>, <Cadena inicial>, <Separador> y <Búsqueda> pueden corresponder a: - cadenas ANSI.
- cadenas UNICODE.
Sin embargo, las cadenas ANSI y las cadenas de UNICODE no se pueden utilizar en la misma sintaxis. Consejo: ¿Cómo hacer que get el separador? Para recuperar el separador en el bucle, utilice la siguiente sintaxis que le permite conocer la posición del separador. Para encontrar el separador, todo lo que tiene que hacer es recuperar el siguiente carácter. Por ejemplo: FOR EACH STRING sTempString, nPosition OF sStringIN SEPARATED BY [" ","-"] sSeparator = sStringIN[[nPosition + Length(sTempString)]] ... END
Consejo: Navegación de una cadena XML Para iterar sobre un archivo XML, llame a XMLExecuteXPath antes de utilizar FOR EACH.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|