replace

CLEAR
LOCAL cadeia_original, resultado

cadeia_original = "Isso é uma amostra de texto com uma palavra para substituir."
resultado = STRTRAN(cadeia_original, "palavra", "substituição")

? resultado // Isso imprimirá "Isso é uma amostra de texto com uma substituição para substituir."

 

length

CLEAR
LOCAL minha_cadeia, tamanho

minha_cadeia = "Isso é uma cadeia de caracteres."
tamanho = LEN(minha_cadeia)

? tamanho // Isso imprimirá o valor 26, que é o comprimento da cadeia de caracteres.

 

substring

CLEAR
LOCAL minha_cadeia, subcadeia

minha_cadeia = "Isso é uma cadeia de caracteres."
subcadeia = SUBSTR(minha_cadeia, 6, 4)

? subcadeia // Isso imprimirá "é uma", que é a subcadeia de 4 caracteres a partir da posição 6.

 

charAt

CLEAR
LOCAL minha_cadeia, caractere

minha_cadeia = "Exemplo"
posicao = 4 // A posição do caractere que queremos acessar

IF posicao >= 1 .AND. posicao <= LEN(minha_cadeia)
caractere = SUBSTR(minha_cadeia, posicao, 1)
? caractere // Isso imprimirá o caractere na posição 4, que é "e"
ENDIF

 

indexOf

FUNCTION IndexOf(cadeia, subcadeia)
LOCAL pos
LOCAL len_cadeia, len_subcadeia

len_cadeia = LEN(cadeia)
len_subcadeia = LEN(subcadeia)

FOR pos = 1 TO len_cadeia - len_subcadeia + 1
IF SUBSTR(cadeia, pos, len_subcadeia) == subcadeia
RETURN pos
ENDIF
NEXT

RETURN 0 // Retorna 0 se a subcadeia não for encontrada

CLEAR
LOCAL minha_cadeia, subcadeia, posicao

minha_cadeia = "Esta é uma cadeia de caracteres de exemplo."
subcadeia = "cadeia"
posicao = IndexOf(minha_cadeia, subcadeia)

IF posicao > 0
? "Subcadeia encontrada na posição:", posicao // Isso imprimirá a posição da subcadeia
ELSE
? "Subcadeia não encontrada." // Isso será exibido se a subcadeia não for encontrada
ENDIF

 

lastIndexOf

FUNCTION LastIndexOf(cadeia, subcadeia)
LOCAL pos
LOCAL len_cadeia, len_subcadeia

len_cadeia = LEN(cadeia)
len_subcadeia = LEN(subcadeia)

FOR pos = len_cadeia TO 1 STEP -1
IF SUBSTR(cadeia, pos, len_subcadeia) == subcadeia
RETURN pos
ENDIF
NEXT

RETURN 0 // Retorna 0 se a subcadeia não for encontrada

CLEAR
LOCAL minha_cadeia, subcadeia, posicao

minha_cadeia = "Esta é uma cadeia de caracteres de exemplo com uma palavra cadeia."
subcadeia = "cadeia"
posicao = LastIndexOf(minha_cadeia, subcadeia)

IF posicao > 0
? "Última posição da subcadeia encontrada:", posicao // Isso imprimirá a posição da última ocorrência da subcadeia
ELSE
? "Subcadeia não encontrada." // Isso será exibido se a subcadeia não for encontrada
ENDIF

 

toLowerCase

FUNCTION ToLowerCaseLatin(cadeia)
LOCAL i, caractere, resultado
LOCAL maiusculas, minusculas

maiusculas = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕÇ"
minusculas = "abcdefghijklmnopqrstuvwxyzáéíóúàèìòùâêîôûãõç"

resultado = ""

FOR i = 1 TO LEN(cadeia)
caractere = SUBSTR(cadeia, i, 1)
pos = AT(caractere, maiusculas)
IF pos > 0
caractere = SUBSTR(minusculas, pos, 1)
ENDIF
resultado = resultado + caractere
NEXT

RETURN resultado

CLEAR
LOCAL minha_cadeia, cadeia_minusculas

minha_cadeia = "Esta É Uma Cadeia De Caracteres."
cadeia_minusculas = ToLowerCaseLatin(minha_cadeia)

? cadeia_minusculas // Isso imprimirá "esta é uma cadeia de caracteres."

 

toUpperCase

FUNCTION ToUpperCaseLatin(cadeia)
LOCAL i, caractere, resultado
LOCAL maiusculas, minusculas

maiusculas = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÀÈÌÒÙÂÊÎÔÛÃÕÇ"
minusculas = "abcdefghijklmnopqrstuvwxyzáéíóúàèìòùâêîôûãõç"

resultado = ""

FOR i = 1 TO LEN(cadeia)
caractere = SUBSTR(cadeia, i, 1)
pos = AT(caractere, minusculas)
IF pos > 0
caractere = SUBSTR(maiusculas, pos, 1)
ENDIF
resultado = resultado + caractere
NEXT

RETURN resultado

CLEAR
LOCAL minha_cadeia, cadeia_maiusculas

minha_cadeia = "Esta É Uma Cadeia De Caracteres."
cadeia_maiusculas = ToUpperCaseLatin(minha_cadeia)

? cadeia_maiusculas // Isso imprimirá "ESTA É UMA CADEIA DE CARACTERES."

 

compareTo

FUNCTION CompareStrings(cadeia1, cadeia2)
IF cadeia1 == cadeia2
RETURN 0 // As cadeias são iguais
ELSE
IF cadeia1 < cadeia2
RETURN -1 // cadeia1 é menor que cadeia2
ELSE
RETURN 1 // cadeia1 é maior que cadeia2
ENDIF
ENDIF

CLEAR
LOCAL minha_cadeia1, minha_cadeia2, resultado

minha_cadeia1 = "banana"
minha_cadeia2 = "abacaxi"
resultado = CompareStrings(minha_cadeia1, minha_cadeia2)

IF resultado == 0
? "As cadeias são iguais."
ELSEIF resultado < 0
? "minha_cadeia1 é menor que minha_cadeia2."
ELSE
? "minha_cadeia1 é maior que minha_cadeia2."
ENDIF

 

compareToIgnoreCase

FUNCTION CompareStringsIgnoreCase(cadeia1, cadeia2)
LOCAL lowerCadeia1, lowerCadeia2
lowerCadeia1 = LOWER(cadeia1)
lowerCadeia2 = LOWER(cadeia2)

IF lowerCadeia1 == lowerCadeia2
RETURN 0 // As cadeias são iguais sem distinção entre maiúsculas e minúsculas
ELSE
IF lowerCadeia1 < lowerCadeia2
RETURN -1 // cadeia1 é menor que cadeia2 sem distinção entre maiúsculas e minúsculas
ELSE
RETURN 1 // cadeia1 é maior que cadeia2 sem distinção entre maiúsculas e minúsculas
ENDIF
ENDIF

CLEAR
LOCAL minha_cadeia1, minha_cadeia2, resultado

minha_cadeia1 = "Banana"
minha_cadeia2 = "banana"
resultado = CompareStringsIgnoreCase(minha_cadeia1, minha_cadeia2)

IF resultado == 0
? "As cadeias são iguais sem distinção entre maiúsculas e minúsculas."
ELSEIF resultado < 0
? "minha_cadeia1 é menor que minha_cadeia2 sem distinção entre maiúsculas e minúsculas."
ELSE
? "minha_cadeia1 é maior que minha_cadeia2 sem distinção entre maiúsculas e minúsculas."
ENDIF

 

equals

CLEAR
LOCAL minha_cadeia1, minha_cadeia2

minha_cadeia1 = "Texto de exemplo"
minha_cadeia2 = "Outro texto de exemplo"

IF minha_cadeia1 == minha_cadeia2
? "As cadeias são iguais."
ELSE
? "As cadeias são diferentes."
ENDIF

 

equalsIgnoreCase
FUNCTION EqualsIgnoreCase(cadeia1, cadeia2)
IF UPPER(cadeia1) == UPPER(cadeia2)
RETURN .T. // As cadeias são iguais sem distinção entre maiúsculas e minúsculas
ELSE
RETURN .F. // As cadeias são diferentes
ENDIF

CLEAR
LOCAL minha_cadeia1, minha_cadeia2, resultado

minha_cadeia1 = "Texto de exemplo"
minha_cadeia2 = "texto de exemplo"

resultado = EqualsIgnoreCase(minha_cadeia1, minha_cadeia2)

IF resultado
? "As cadeias são iguais sem distinção entre maiúsculas e minúsculas."
ELSE
? "As cadeias são diferentes."
ENDIF