Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB.NET: String-luokasta esimerkkejä

tnb [01.09.2004 23:18:37]

#

vb.net String luokka on aivan eri asia kuin VB6:n string. Käyttö käy ilmi oheisesta listauksesta. Varsin monipuolinen juttu, vaikka kaikki on saanut tehtyä kyllä VB6:ssa.

Ohjelma ei tee mitään, kunhan vain on pötkö esimerkkejä.

'**********************************************
' Esimerkkejä String luokan käytöstä vb.net 2003
' 1.9.2004 by tnb
'**********************************************
Dim a, b As String ' myös b strig koska ei ole varianttia kuten VB6:ssa
Dim i As Integer
Dim totuus As Boolean

a = "Ohjelmointiputka"

' tekstin pituuden selvitys
i = a.Length 'i=16

' merkin luku keskeltä
b = a.Chars(5) ' b="m" koska alkaa nollasta

'Täyttö etumerkeillä haluttuun pituuteen
b = a.PadLeft(21, "F") 'b=FFFFFOhjelmointiputka
'Täyttö perään haluttuun pituuteen
b = a.PadRight(21, "F") 'b=OhjelmointiputkaFFFFF

'pieniksi
b = a.ToLower 'b=ohjelmointiputka
'isoiksi
b = a.ToUpper ' b=OHJELMOINTIPUTKA

'turhien merkkien poisto edestä (tyhjä ja tab)
b = "       " & a 'yksi merkki näistä on tab
b = b.TrimStart(" ", Chr(9)) ' b=Ohjelmointiputka
'turhien merkkien poisto takaa
b = a & "       "
b = b.TrimEnd(" ", Chr(9)) ' b=Ohjelmointiputka
'turhien merkkien poisto alusta ja lopusta
b = "       " & a & "       "
b = b.Trim(" ", Chr(9)) ' b=Ohjelmointiputka

'etsintä tekstistä
i = a.IndexOf("mointi") ' 5 koska alkaa nollasta
i = a.LastIndexOf("i"c) ' 10 , etsi char
i = a.LastIndexOf("i") ' 10 , etsi string

'Alkaako etsityllä tekstillä
totuus = a.StartsWith("Ohj") ' true
totuus = a.StartsWith("OHJ") ' false
'loppuuko haluttuun
totuus = a.EndsWith("ka") ' true

'korvaaminen, toimii vain char eikä stringeillä, case sensitive
b = a.Replace("j"c, "J"c) 'OhJelmointiputka

'tekstin osan poiminta
b = a.Substring(4) 'lmointiputka
b = a.Substring(4, 3) 'lmo

'lisäys tekstin keskelle
b = a.Insert(11, "WWW") 'OhjelmointiWWWputka
'poisto
b = b.Remove(11, 3) 'Ohjelmointiputka

'vertailu
b = a
If String.Compare(a, b) = 0 Then totuus = True Else totuus = False

'enumerointi toimii myös
Dim c As Object = a.GetEnumerator
For Each c In a
    Debug.Write(c & " ") 'O h j e l m o i n t i p u t k a
Next

' helpompi enumerointi
Dim c2 As Char
For Each c2 In a
    Debug.Write(c2 & " ") 'O h j e l m o i n t i p u t k a
Next

'splittaus osiin
a = "ohjelmointi,putka"
Dim d() As String
d = a.Split(",") 'd(0)="ohjelmointi", d(1)="putka"
'yhdistely takaisin
b = String.Concat(d) 'ohjelmointiputka

'kopiointi taulukkoon
a = "ohjelmointiputka"
Dim chararr() As Char
chararr = a.ToCharArray()
'palautus taulukosta
b = "" 'vain varmistus
b = String.Concat(chararr) 'ohjelmointiputka

'datan kopiointi toiseen muutuujaan (b = a)
b = String.Copy(a)

'tyhjä
b = String.Empty  ' b=""

sooda [04.09.2004 09:54:24]

#

Useimmat noista saa vb6:ssakin aika helposti kuten ucase tms, mutta noilla menee paljon yksinkertaisemmin. Pläh, miksei ms tehny .nettiä toimimaan w98:ssa :(

tnb [12.09.2004 14:08:04]

#

'kirjaimen toistaminen

b = New String("*"c, 33)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta