AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de cadenas
  • Encontrar una cadena de caracteres
  • Unicode/Ansi
  • Caracteres que se tienen en cuenta para la puntuación y los espacios
  • Varios
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Busca la posición de una cadena especificada dentro de otra cadena (o Buffer).
También puede buscar la posición de una de las cadenas en un array.
Ejemplo
n is int
MyString is string = "What a wonderful World"
n = Position(MyString, "won", 1, FromBeginning)
// Returns 8 (position of "w" in "wonderful")
n = Position(MyString, "XXX")
// Returns 0 (no "XXX" found in the string)
n = Position(MyString, "l", 0, FromEnd)
// Returns 21 (position of "l" in "World")
n = Position(MyString, "e", 11)
// Returns 12 (position of "e" in "wonderful")
n = Position(MyString, "o", Length(MyString), FromEnd)
// Returns 19 (position of "o" in "World")
n = Position(MyString, "o", n-1, FromEnd)
// Returns 9 (position of "o" in "wonderful")
n = Position(MyString, "o", n-1, FromEnd)
// Returns 0 (there is no other "o")
n is int
MyString2 is string = "http://Server/File.html"
n = Position(MyString2,["/","//"])
// Returns 6
n = Position(MyString2,["/","//"], 8)
// Returns 15
Sintaxis

Buscar la posición de una cadena especificada dentro de otra cadena Ocultar los detalles

<Result> = Position(<Initial string> , <Search string> [, <Start position> [, <Option>]])
<Result>: Entero
  • Posición del primer carácter de la cadena buscada en la cadena inicial,
  • 0 si no se encuentra la cadena buscada.
    Esta posición se busca desde el inicio de la cadena.
<Initial string>: Cadena de caracteres
Cadena en la que se realizará la búsqueda (tamaño máximo: 2 GB).
<Search string>: Cadena de caracteres
Cadena que se buscará en la cadena inicial.
<Start position>: Entero opcional
Índice del carácter a partir del cual iniciará la búsqueda. De forma predeterminada, la búsqueda comienza desde el primer carácter (carácter 1).
Para iniciar la búsqueda desde el final de la cadena (constante FromEnd), este parámetro debe corresponder a 0 o a la longitud de la cadena.
Si este parámetro es negativo, la búsqueda comienza desde el primer carácter.
Si el valor de este parámetro es mayor que el número de caracteres en <Cadena inicial>, <Resultado> es igual a 0.
<Option>: Constante o combinación de constantes opcional
Indica la dirección y las características de la búsqueda:
FromBeginning
(Valor predeterminado)
Busca del primer al último carácter de la cadena.
FromEndBusca del último al primer carácter de la cadena.
IgnoreCaseBusca sin distinguir entre mayúsculas, minúsculas o acentos.
Linux Esta opción no tiene ningún efecto.
WholeWordBusca una palabra completa, es decir, una palabra entre caracteres de puntuación o espacios.
Linux Esta opción no tiene ningún efecto.
WEBDEV - Código Navegador Este parámetro no está disponible. La búsqueda se realiza del primer al último carácter de la cadena. La búsqueda distingue entre mayúsculas y minúsculas. La cadena buscada no corresponde necesariamente a una palabra completa: puede corresponder a una parte de la palabra.

Buscar una cadena en un array de cadenas Ocultar los detalles

(<Result>, <Index>) = Position(<Initial string> , <Array of search strings> [, <Start position> [, <Option>]])
<Result>: Entero
  • Posición del primer carácter de la primera cadena del array encontrada en la cadena inicial.
    Esta posición se busca desde el inicio de la cadena.
  • 0 si no se encontró ninguna de las cadenas buscadas.
<Index>: Entero
Índice de la cadena en el array.
<Initial string>: Cadena de caracteres
Cadena en la que se realizará la búsqueda (tamaño máximo: 2 GB).
<Array of search strings>: Array
Array que contiene las cadenas a buscar en la cadena inicial.
<Start position>: Entero opcional
Índice del carácter a partir del cual iniciará la búsqueda. De forma predeterminada, la búsqueda comienza desde el primer carácter (carácter 1). Para iniciar la búsqueda desde el final de la cadena, este parámetro debe corresponder a 0 o a la longitud de la cadena.
Si este parámetro es negativo, la búsqueda comienza desde el primer carácter.
Si el valor de este parámetro es mayor que el número de caracteres en <Cadena inicial>, <Resultado> es igual a 0.
<Option>: Constante o combinación de constantes opcional
Indica la dirección y las características de la búsqueda:
FromBeginning
(Valor predeterminado)
Busca del primer al último carácter de la cadena.
FromEndBusca del último al primer carácter de la cadena.
IgnoreCaseBusca sin distinguir entre mayúsculas, minúsculas o acentos.
Linux Esta opción no tiene ningún efecto.
WholeWordBusca una palabra completa, es decir, una palabra entre caracteres de puntuación o espacios.
Linux Esta opción no tiene ningún efecto.
WEBDEV - Código Navegador Este parámetro no está disponible. La búsqueda se realiza del primer al último carácter de la cadena. La búsqueda distingue entre mayúsculas y minúsculas. La cadena buscada no corresponde necesariamente a una palabra completa: puede corresponder a una parte de la palabra.
Observaciones

Encontrar una cadena de caracteres

De forma predeterminada, la búsqueda distingue entre mayúsculas y minúsculas: las mayúsculas y minúsculas de la cadena buscada deben ser idénticas a las de la subcadena en la cadena inicial. Para realizar una búsqueda que no distinga entre mayúsculas y minúsculas, utilice la constante IgnoreCase.
Las posiciones en una cadena de caracteres siempre se dan desde el inicio de la cadena, independientemente de la dirección de la búsqueda.
Para utilizar la función Position con la constante FromEnd, se debe iniciar en la posición calculada por Length(<Cadena inicial>). Por ejemplo:
Position(MyString, "\", Length(MyString), FromEnd)
También se puede utilizar la siguiente sintaxis. En este caso, el parámetro 0 permite que la función seleccione la posición inicial más adecuada.
Position(MyString, "\", 0, FromEnd)

Unicode/Ansi

La función Position permite buscar la posición de una cadena determinada en una cadena Unicode o Ansi.
Se pueden usar cadenas Ansi y/o Unicode en los parámetros <Cadena inicial> y <Cadena buscada> (puede haber un parámetro Unicode y un parámetro Ansi).
La regla de conversión utilizada es la siguiente:
  • Si al menos una de las cadenas es Unicode, todas las cadenas se convierten a Unicode y la operación se realiza en este estándar.
  • De lo contrario, la operación se realiza en Ansi.

Caracteres que se tienen en cuenta para la puntuación y los espacios

Los caracteres que se tienen en cuenta para la puntuación y los espacios son proporcionados por el sistema. Para obtener la lista de estos caracteres, escriba el siguiente código WLanguage:
s is string
FOR i = 0 TO 255
IF Charact(i) <> StringFormat(Charact(i), ccIgnorePunctuationAndSpace) THEN
 s += Charact(i)
END
END
Info(s)
ToClipboard(s)

Varios

La función PositionOccurrence permite obtener la posición de la enésima instancia de una subcadena buscando desde el inicio o desde el final de la cadena.
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd290vm.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local