Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Merkkijonon etsiminen toisesta

Sivun loppuun

tuomas [09.05.2004 22:23:12]

#

Miten voin tarkistaa löytyykö jostain merkkijonosta toista merkkijonoa?
Siis vaikka näin jos ensimmäinen merkkijono on seuraava:
"Huomenta Suomi"
Ja toinen on "Suomi"
niin ohjelma tarkistaisi onko ensimmäisessä merkkijonossa toista merkkinjonoa.

merkkijonoa, merkkijonoa, merkkijonoaaa...

Gwaur [09.05.2004 22:25:15]

#

if InStr(en muista parametreja mutta kato helpistä) Then
  print "löytyi!"
end if

tuomas [09.05.2004 22:35:08]

#

Katoin parametrejä mutten saa toimimaan..
tossa on se sivu:
https://www.ohjelmointiputka.net/hak/?kieli­=Visual Basic&nimi=InStr

sain tuon palauttamaan vain numeroita..

Blaze [09.05.2004 22:43:28]

#

tuomas kirjoitti:

sain tuon palauttamaan vain numeroita..

https://www.ohjelmointiputka.net/hak/?kieli­=Visual Basic&nimi=InStr:

Funktio palauttaa kohdan, jossa hakusana esiintyy merkkijonossa.

Thus: If InStr("blaah", "a") <> 0 Then MsgBox "Löyty"

tuomas [09.05.2004 22:48:17]

#

Entä miten tarkistan löytyykö merkkijonoa niinkuin tuossa ensimmäisessä esimerkissäni?

Gwaur [09.05.2004 22:54:57]

#

If InStr("Huomenta Suomi", "Suomi") Then Print "löytyi"

eli siis jos instr palauttaa nollan niin sitä ei löydy, jos jotain muuta, niin löytyy. Kyllä Visual Basic:kin osaa iffeissä tolleen että boolean-arvoja (0 = false, muut = true) tarkistettaessa tarvii vaan pistää tuon funktion eikä mitään vertailukoheita.

tuomas [09.05.2004 23:08:46]

#

No nyt toimii ihan nätisti.
Miten saan vielä niin että se ei erottele suuria ja pieniä kirjaimia?

kun näin ei oikein toimi:
If InStr("Huomenta Suomi", "Suomi", vbtextcompare) Then Print "löytyi"

Blaze [09.05.2004 23:10:05]

#

tuomas kirjoitti:

Entä miten tarkistan löytyykö merkkijonoa niinkuin tuossa ensimmäisessä esimerkissäni?

"a" on merkkijono...

tuomas kirjoitti:

No nyt toimii ihan nätisti.
Miten saan vielä niin että se ei erottele suuria ja pieniä kirjaimia?

Aja molemmat merkkijonot LCase():n tai UCase():n läpi.

setä [10.05.2004 12:49:02]

#

Noncasesensitiven saa helpommin lisäämällä loppuun 1 (Compare) Esim:

X = InStr(1, "HeISsuLiVei", "hEiSSulIvEI", 1)

Eka 1 on Start ja lopussa Compare

Edit: Olihan se jo tossa Tuomaksen viestissä, mutta jos käyttää Comparea pitää olla myös tuo Start

Blaze [10.05.2004 17:36:47]

#

setä kirjoitti:

Noncasesensitiven saa helpommin lisäämällä loppuun 1 (Compare)

Ai, sitäkö tuo text compare onkin. Kätevää. Aina oppii jotain uutta.


Sivun alkuun

Vastaus

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

Tietoa sivustosta