PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE


Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Nota sobre la sintaxis de Browse de las subcadenas definidas según un separador
  • Función ExtractString y UNICODE
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Permite:
  • extraer una subcadena de una cadena de caracteres de acuerdo con un separador de cadenas dado.
  • navegar por las subcadenas de una cadena de caracteres de acuerdo con un separador de cadenas determinado.
Notas:
  • La navegación por las subcadenas es más rápida que la extracción de subcadenas.
  • Usted tiene la capacidad de utilizar un array de separadores. Esto le permite utilizar varios separadores diferentes al mismo tiempo.
Algunos ejemplos:
  • extraer un dato leído en un fichero externo,
  • extraer la información devuelta por HListFile o por HListKey,
  • extraer un dato de una lista que contiene datos diferentes en la misma línea.
Versiones 15 y posteriores
Android Esta función ahora está disponible para aplicaciones Android.
Nueva funcionalidad versión 15
Android Esta función ahora está disponible para aplicaciones Android.
Android Esta función ahora está disponible para aplicaciones Android.
Versiones 16 y posteriores
Universal Windows 10 App Esta función ahora está disponible para aplicaciones Windows Phone.
Nueva funcionalidad versión 16
Universal Windows 10 App Esta función ahora está disponible para aplicaciones Windows Phone.
Universal Windows 10 App Esta función ahora está disponible para aplicaciones Windows Phone.
Versiones 17 y posteriores
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
Nueva funcionalidad versión 17
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
Versiones 18 y posteriores
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Nueva funcionalidad versión 18
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Versiones 21 y posteriores
Apple Watch Esta función ahora está disponible en modo Apple Watch.
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
Nueva funcionalidad versión 21
Apple Watch Esta función ahora está disponible en modo Apple Watch.
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
Apple Watch Esta función ahora está disponible en modo Apple Watch.
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
Ejemplo
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"
WINDEVWEBDEV - Código ServidorReportes y ConsultasAndroidWidget Android Windows MobileUniversal Windows 10 AppJavaPHPAjaxCódigo de Usuario (UMC)Procedimientos almacenados
// Browse all the sub-strings
Country is string = "France, Italy, Germany, Spain"
SubString is string = ExtractString(Country, firstRank, ", ")
WHILE SubString <> EOT
Trace(SubString) // Returns "France", "Italy", "Germany", "Spain"
SubString = ExtractString(Country, nextRank, ", ")
END
WINDEVWEBDEV - Código ServidorReportes y ConsultasAndroidWidget Android Windows MobileUniversal Windows 10 AppJavaCódigo de Usuario (UMC)Procedimientos almacenados
// Browse all the sub-strings
// The separators are found in an array
sString is string = "Strawberry, Raspberry<br>Lemon<br>Chocolate and Banana"
sResult is string = ExtractString(sString, firstRank, [", " , " and ", "<br>"])
WHILE sResult <> EOT
Trace(sResult)
sResult = ExtractString(sString, nextRank, [", " , " and ", "<br>"])
END
Sintaxis

Extracting a sub-string according to a string separator Ocultar los detalles

<Result> = ExtractString(<Initial string> , <Rank> [, <Separador> [, <Browse direction>]])
<Result>: Character string
Corresponde a:
  • La subcadena incluida entre el separador cuyo rango es <Rank> - 1 y el separador cuyo rango es <Rank> si no se especifica <Dirección de navegación> o si es igual a Desde el principio.
  • La subcadena incluida entre el separador cuyo rango es <Rank> - 1 y el separador cuyo rango es <Rank> desde el final de la cadena si <Dirección de búsqueda> corresponde a DeEnd.
  • La cadena completa <Inicial> si <Serie inicial> no contiene <Separador> y si <Rank> es igual a 1
  • El PUNTO DE ENGAÑO si <Rank> es mayor que el número de separadores encontrados en la cadena.
<Initial string>: Character string (with quotes)
Cadena de caracteres (hasta 2 GB) que contiene la cadena a extraer.
<Rank>: Integer
Número de pedido del separador. Por ejemplo, si el separador es TAB y si <Rank> es igual a 2, la cadena extraída se incluirá entre la primera y la segunda TAB.
<Separador>: Optional character string (with quotes) or optional array of strings
Este parámetro puede corresponder a:
  • La cadena utilizada para delimitar las subcadenas. Esta cadena no se incluye en el resultado. Este separador distingue entre mayúsculas y minúsculas.
  • Una array de cuerdas. Las diferentes cadenas que se encuentran en el array se utilizan para delimitar 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 por defecto es TAB.
Versiones 16 y posteriores
PHP Ahora tienes la habilidad de usar una array o varias cuerdas.
Nueva funcionalidad versión 16
PHP Ahora tienes la habilidad de usar una array o varias cuerdas.
PHP Ahora tienes la habilidad de usar una array o varias cuerdas.
<Browse direction>: Optional constant
Dirección en la que se realizó la navegación:
DesdeComienzo
(Valor predeterminado)
Búsqueda realizada desde el primer carácter de la cadena hasta el último carácter
DesdeEndBúsqueda realizada desde el último carácter de la cadena hasta el primero
WINDEVWEBDEV - Código ServidorWEBDEV - Código NavegadorReportes y ConsultasAndroidWidget Android iPhone/iPadApple WatchWindows MobileUniversal Windows 10 AppJavaPHPAjaxCódigo de Usuario (UMC)Procedimientos almacenados

Browsing the sub-strings according to a separator Ocultar los detalles

<Result> = ExtractString(<Initial string> , <Browse options> [, <Separador>])
<Result>: Character string
Corresponde a:
  • la subcadena siguiente o anterior según la búsqueda seleccionada. <El resultado no contiene el separador.
  • la constante EOT al final de la búsqueda.
<Initial string>: Character string (with quotes)
Cadena de caracteres (hasta 2 GB) que contiene la cadena a extraer.
<Browse options>: Integer constant
Dirección en la que se realizó la navegación:
lastRankInicia la navegación por las subcadenas separadas por el separador especificado del final de la cadena.
anteriorRankReanuda una operación de búsqueda iniciada por el comando lastRank ininterrumpido
firstRankInicia la navegación por las subcadenas separadas por el separador especificado desde el principio de la cadena.
siguienteRangoReanuda una operación de búsqueda iniciada por el comando firstRank ininterrumpido
<Separador>: Optional character string (with quotes) or optional array of strings
Este parámetro puede corresponder a:
  • La cadena utilizada para delimitar las subcadenas. Esta cadena no se incluye en el resultado. Este separador distingue entre mayúsculas y minúsculas.
  • Una array de cuerdas. Las diferentes cadenas que se encuentran en el array se utilizan para delimitar 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 por defecto es TAB.
Versiones 16 y posteriores
PHP Ahora tienes la habilidad de usar una array o varias cuerdas.
Nueva funcionalidad versión 16
PHP Ahora tienes la habilidad de usar una array o varias cuerdas.
PHP Ahora tienes la habilidad de usar una array o varias cuerdas.
Observaciones

Nota sobre la sintaxis de Browse de las subcadenas definidas según un separador

  • Este tipo de navegación funciona sólo con las cadenas constantes. Por lo tanto, un elemento de proyecto (variable, control, posición,...) debe utilizarse necesariamente como string inicial.
  • Cuando se inicia una búsqueda con el botón firstRank o lastRank la información de navegación se almacena en la memoria mientras no se hayan consultado todas las subcadenas extraídas.. Por lo tanto, este tipo de navegación debe utilizarse sólo cuando se deben procesar todas las subcadenas.

Función ExtractString y UNICODE

<La cadena de caracteres inicial> y <Separator> pueden corresponder a ambos:
  • Cadenas ANSI .
  • Cadenas UNICODE.
  • amortiguadores.
Tiene la posibilidad de utilizar cadenas ANSI, cadenas Unicode y búferes en los diferentes parámetros de la función.
La siguiente regla de conversión se utiliza para los sistemas Ansi (Windows o Linux):
  • Al menos una de las cadenas es una memoria intermedia, todas las cadenas se convierten en memorias intermedias y la operación se realiza con memorias intermedias,
  • de lo contrario, si al menos una de las cadenas está en formato Unicode, todas las cadenas se convierten a Unicode y la operación se realiza en Unicode,
  • de lo contrario, la operación se realiza en formato Ansi.
La siguiente regla de conversión se utiliza para los sistemas Unicode (Windows CE):
  • Al menos una de las cadenas es una memoria intermedia, todas las cadenas se convierten en memorias intermedias y la operación se realiza con memorias intermedias,
  • de lo contrario, la operación se realiza en Unicode.
Nota: Si el resultado de una cadena ANSI se asigna a una cadena UNICODE (y a la inversa), la conversión se realizará implícitamente.
Ver Gestión de UNICODE para más detalles.
Componente : wd240vm.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Video ExtractString
https://youtu.be/B9tZPrVs2aY
https://windevdesenvolvimento.blogspot.com/2019/04/dicas-2064-windev-arquivos-31-arquivo.html
sTexto is string=[
1|COURO|PR
2|CAMISA|UN
3|TENIS|PAR
]
FOR EACH STRING sLINHA OF sTexto SEPARATED BY CR
sCODIGO is string=ExtractString(sLINHA,1,"|")
NOME is string=ExtractString(sLINHA,2,"|")
UNIDADE is string=ExtractString(sLINHA,3,"|")
Trace("codigo="+sCODIGO+" nome="+NOME+" unidade="+UNIDADE)
END
amarildo
04 04 2019
ExtractString Midlle and Hexecutesqlquery with array
PROCEDURE UI_Correlacoes()

GnUserID = 94

//Profissional X Empresas
//-------------------------------------------------------------------
gsProfissionalXEmpresas = ""

sCodigo is string = [
SELECT
T011_EMPRESAS
FROM
T011_PROFISSIONAIS
WHERE
T011_PROFISSIONAISID = @codprof@
]

sCodigo = Replace(sCodigo,"@codprof@",GnUserID)

dsQuery is Data Source

IF HExecuteSQLQuery(dsQuery,hQueryDefault,sCodigo) = True THEN

FOR EACH dsQuery
gsProfissionalXEmpresas = Middle(dsQuery.T011_EMPRESAS,1,Length(dsQuery.T011_EMPRESAS)-1)
END

END
//-------------------------------------------------------------------
x, IDEmpresa is int = 0
LOOP (50)
x++
IDEmpresa = ExtractString(gsProfissionalXEmpresas,x,",",FromBeginning)
IF IDEmpresa > 0
Add(garrProfissionalXEmpresas,IDEmpresa)
ELSE
BREAK
END
END
BOLLER
02 04 2019
Outro Exemplo ExtractString
SELECT
cliente.nome AS nome,
cliente.clienteID AS clienteID,
cliente.email AS cliente_email,
WL.ExtractString(cliente.email,1,'@') AS o1,
WL.ExtractString(cliente.email,2,'@') AS _dominio
FROM
cliente

// WL.ExtraitChaîne => wl.extractString
// amarildo@matosinformatica.com.br
// 1,= amarildo
// 2,= matosinformatica.com.br

//Blog com Video e exemplo
http://windevdesenvolvimento.blogspot.com.br/2016/01/windev-sql-17-sql-select-wlextractstring.html
De matos AMARILDO
16 01 2016
Outro Exemplo extractString Dentro Banco
//Blog com exemplo ExtractString dentro do Banco Dados

http://windevdesenvolvimento.blogspot.com.br/2016/01/windev-21-027-analise-tabela-formula.html
De matos AMARILDO
16 01 2016
Exemplo ExtractString
SAI_TEXTO="SELECT * FROM TESTE"
SAI_RESULTADO_ANTES=ExtractString(SAI_TextO,1,"FROM",FromBeginning)
SAI_RESULTADO_DEPOIS=ExtractString(SAI_TextO,1,"FROM",FromEnd)
SAI_RESULTADO_ANTES="SELECT * FROM"
SAI_RESULTADO_DEPOIS="TESTE"

//-- BLOG COM VIDEO
http://windevdesenvolvimento.blogspot.com.br/2016/01/windev21-curso-219-extractstring-separa.html
De matos AMARILDO
11 01 2016