Miten haen alimerkkijonon kaikki esiintymät merkkijonosta yhdellä komennolla?
Esim:
merkkij="abcdefhabcdefghijabcdefghijklabcdefghijklmnoabcdefghijklmnopqrs"
Eli ylläolevasta pitäisi löytää kaikki "abc" ilmentymät ja saada niiden indeksi. Pitäisi päästä jatkamaan löydetyn alimerkkijonon(jos sellaista on) indeksistä eteenpäin.
Merkkijonosta hakeminen
Tauno(=tauno)
2
318
Vastaukset
- Piru
while(merkkijono.indexOf('abc') > -1)
{
indeksi = merkkijono.indexOf('abc');
merkkijono = merkkijono.substring(indeksi);
//tee jotain jäljellä olevalle merkkijonolle
} - Expertti
Pääsääntöisesti tekstihakuihin kannattaisi käyttää regular expressioneja. Ne ovat siihen tarkoitukseen suunniteltuja ja nopeudeltaan aivan eri luokkaa kuin mitkään while-silmukat (varsinkin jos haku on "käännetty" sen luonnin jälkeen). Niillä saa myös hyvin pienellä koodimäärällä käsiteltyä merkkijonoja hyvinkin paljon.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Silmienvääntelijä-persut pääsivät Japanissa sarjakuvaan
Torille! https://www.hs.fi/kulttuuri/art-2000011943173.html1875075Nato kaatamassa Petterin haaveileman Tunnin junan?
Nato edellyttää pohjoisessa Jäämereltä Rovaniemelle saakka kapearaitesta suoraa rautatieväylää, joka maksaa paperirahaa,254472Donald Trump pääsi samalle listalle Sanna Marinin kanssa
Eli vasemmistolaisen Time-median top 100 jännäihmisten listalle. https://time.com/collections/time100-next-2021/593769993137Älkää vaan sairastuko syöpään Suomessa
Tilaston mukaan Suomi, Slovakia ja Latvia lääkitsee aivan pohjamudissa syöpää. Sairastunutta hoidetaan edelleen vanhana2593039Kyllä, maata ei halua puolustaa nimenomaan punavihreän puolen edustajat
"Esimerkiksi maanpuolustushenki on keskimääräistä alempana naisten, arvoliberaalien, heikossa taloustilanteessa olevien1442934- 522531
- 271939
- 561873
- 771814
- 221787