Documente Academic
Documente Profesional
Documente Cultură
de Texto
APROG (Civil)
Aula 16
Strings - Manipulao de Texto
ISEPDEI, Angelo Martins 2006
ISEP-DEI, Antnio Silva, 2007-9
APROG
Civil
Strings
O que so strings?
Uma string (cadeia de caracteres)
uma entidade que representa uma
sequnci a de caract eres (l et ras,
algarismos e caracteres especiais).
Strings - Manipulao de Texto
ISEPDEI, Angelo Martins 2006
ISEP-DEI, Antnio Silva, 2007-9
APROG
Civil
Strings - Declarao
!
Sintaxe
String
Dim <nome> as String
Vector de Strings
Dim <nome>(<n de elementos>) As String
!
Exemplo
Dim st1 As String, st As String
st1 = txtMyString.Text
st = "Ol" + " " & st1
Strings - Manipulao de Texto
ISEPDEI, Angelo Martins 2006
ISEP-DEI, Antnio Silva, 2007-9
APROG
Civil
Funes Trim, LTrim e RTrim
Trim, LTrim e RTrim
Retornam uma cpia da string original, mas sem
os eventuais espaos no incio ou fim da string.
Dim st1 As String, st2 As String
st1 = Ol Mundo!
st2 = Trim(st1)
st2 = LTrim(st1)
st2 = RTrim(st1)
Ciclo DoLoop
!
Mtodo 2
n
i
c
a
Copia a palavra (p-1 caracteres para
no copiar o espao)
Elimina a palavra copiada.
Utiliza-se o LTrim() para
eliminar eventuais espaos
repetidos entre palavras.
Copia a palavra e
limpa a string.
Strings - Manipulao de Texto
ISEPDEI, Angelo Martins 2006
ISEP-DEI, Antnio Silva, 2007-9
APROG
Civil
Execuo passo a passo
Teste com a string:
Ol mundo !
Iterao st st <> "" p p>0 pal
" Ol mundo! " ""
"Ol mundo!"
1 True
4
True
"Ol"
"mundo!"
2 True
0
False
"mundo!"
""
3 False
Strings - Manipulao de Texto
ISEPDEI, Angelo Martins 2006
ISEP-DEI, Antnio Silva, 2007-9
APROG
Civil
Exemplo 1
Elabore uma funo que recebe uma string como
parmetro e retorna o nmero de palavras que a
string contm.
Public Function nPal(ByVal st As String) As Integer
Dim n As Integer, p As Integer
st = Trim(st)!
If st<> Then
Do
p = InStr(1, st, " ")
If p > 0 Then
st = LTrim(Right(st, Len(st) - p))
End If
n = n + 1
Loop While p > 0
End If
nPal = n
End Function
Conta o nmero de palavras encontradas
Se p>0, porque encontrou um
espao e, portanto, uma palavra.
Strings - Manipulao de Texto
ISEPDEI, Angelo Martins 2006
ISEP-DEI, Antnio Silva, 2007-9
APROG
Civil
Exemplo 2
Elabore uma funo que recebe uma string e um
nmero n como parmetros e retorna outra string com
as palavras da primeira com menos de n caracteres.
Function truncaPal(ByVal st As String, ByVal n As Integer) As String
Dim p As Integer, pal As String, stout As String
st = Trim(st)
Do While st <> ""
p = InStr(st, " ")
If p > 0 Then
pal = Left(st, p - 1)
st = LTrim(Right(st, Len(st) - p))
Else
pal = st
st = ""
End If
If Len(pal) < n Then
stout = stout + " " + pal
End If
Loop
truncaPal = Trim(stout)
End Function
Se a palavra contm menos de n
caracteres, ento acrescentada
a stout.
Extrai uma palavra e
prepara st para a
prxima extrao.
Strings - Manipulao de Texto
ISEPDEI, Angelo Martins 2006
ISEP-DEI, Antnio Silva, 2007-9
APROG
Civil
Exerccio
Enunciado
Elabore uma funo que receba uma string e um caracter e
que devolva essa string expurgada de todas as ocorrncias
desse caracter.
Function limpaString(ByVal st As String,ByVal c As String) As String
Dim i As Integer, p As Integer
Dim s As String
Do While st <> ""
p = InStr(st, c)
s = s & Left(st, p - 1)
st = Mid(st, p + 1)
Loop
limpaString = s
End Function