Merkkijonojen korvaaminen toisella

§§§§§§

Eli, kysymys on seuraavanlaisesta:

Yritän tässä harjoitella alkeita ja seuraavaksi olisi tarkoitus duunata jonkinlainen sanakirja. Ongelmana onkin nyt sanojen korvaaminen toisilla. Eli, jos minulla olisi vaikka seuraavanlainen koodi:

Scanner skanner = new Scanner (System.in);
System.out.print("Word?");
String word = skanner.nextLine();
word = word.replaceAll("koira", "dog");

niin ohjelma muuttaa esimerkiksi tekstin "minulla on susikoira" > "minulla on susidog".
Mikä on taikasana javassa sille, että pystyisin korvaamaan tietyt _kokonaiset_ sanat niin, ettei sanojen osia edes tutkittaisi?

Toinen ongelmani liittyy juurikin noihin sanoihin. Onko javassa mahdollista luoda tälle > word = word.replaceAll("koira", "dog"); jonkinlaista taulukkovastinetta? eli yhdessä taulukossa olisi isompi läjä sanoja/tietyt korvaavat sanat jokaiselle?

1

349

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • yksi vain

      "Mikä on taikasana javassa sille, että pystyisin korvaamaan tietyt _kokonaiset_ sanat niin, ettei sanojen osia edes tutkittaisi?"

      Lisää sekä etsittävän ja tilalle vaihdettavan merkkijonon eteen ja perään välilyönti. Jotta homma toimisi myös sanan esiintyessä rivin alussa tai lopussa, pitää sinun lisätä rivin alkuun ja loppuunkin välilyönti.

      "Toinen ongelmani liittyy juurikin noihin sanoihin. Onko javassa mahdollista luoda tälle > word = word.replaceAll("koira", "dog"); jonkinlaista taulukkovastinetta? eli yhdessä taulukossa olisi isompi läjä sanoja/tietyt korvaavat sanat jokaiselle?"

      Joudut varmaan kirjoittamaan sellaisen itse. For-loopilla toteutettuna et tarvitse kovin montaa riviä, mutta tuollainen toteutus on sitten ihan hemmetin hidas jos sanoja on vähänkään enemmän. Kannattaisi tuo algoritmi miettiä ihan kokonaan uusiksi, eikä välttämättä edes käyttää replaceAll:ia.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      130
      3089
    2. EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!

      Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje
      Maailman menoa
      38
      1467
    3. Kultasi eka kirjain? Kuka haluaa

      A haluaa J
      Ikävä
      104
      1319
    4. Empaattisuus ja suoruus.

      Tässä tullut noita pehmeitä asioita pohdittua, mutta toisaalta olen myös yksinkertainen mies. Pidän suoruudestakin. Mi
      Sinkut
      135
      1057
    5. Kristillinen kaste annetaa upotuskasteena

      Kristillinen upotuskaste perustuu juutalaiseen mikve-kasteeseen, jossa upottaudutaan veden alle kokonaan. Paavali vertas
      Kaste
      162
      1047
    6. Koko kansan kaste Punaisen meren ylityksen aikana

      Koko Israelin 2,5 milj.kansa sai kasteen ja Pyhän Hengen lahjan ylittäessän Punaisen meren. 1.Kor.10 1 Sillä minä en ta
      Kaste
      366
      1037
    7. Nainen, mikset lähetä

      miehelle viestiä? Tiedän, että sulla on asiaa ja kysyttävää.
      Ikävä
      60
      977
    8. Sijaiskasteet kuolleitten puolesta

      Paavali teki Korintossa sijaiskasteita kuolletten puolesta eli ns. Mormoninkasteita. 1. Kor. 15:29 Mitä muutoin ne, j
      Kaste
      373
      949
    9. Ehkä vähän

      Rakastunut sinuun
      Ikävä
      41
      777
    10. Sä saat mut tuntemaan

      Jotain sellaista mitä ei saisi tuntea mutta må en mahda tälle mitään. Mulla on ikävä niitä meidän katseita ja sitä tunne
      Ikävä
      22
      753
    Aihe