<?php // vaatimus: kymmenen kirjainta, joiden jälkeen yksi tai useampi kirjain // \1 viittaa suluissa olevaan osuuteen eli kymmeneen kirjaimeen echo preg_replace("/(\w{10})\w+/", "\\1...", "kynä matkapuhelin tietosanakirja"); // kynä matkapuhel... tietosanak... ?>
Toi nyt on tuolta ohjelmointiputkan php oppaasta otettu pätkä sen takia, että tajuisitte mitä haen takaa. Elikkä en löydä tietoa, miten sais javassa tehtyä tollasen, että saa tohon korvaukseen osan korvattavasta merkkijonosta. Esimerkiksi php:llä se tehdään tolleen laittamalla sulkeet ja sitten \\1. Javassa ei tunnu toimivan samalla tapaa.
String-luokalla on replaceAll-metodi, jolla korvaukset sujuu näppärästi. Mut toisin ku PHP Java käyttää noissa korvauksissa merkintää $n Tuo esimerkki siis Javalla:
System.out.println("kynä matkapuhelin tietosanakirja".replaceAll("(\\w{10})\\w+", "$1..."));
Aihe on jo aika vanha, joten et voi enää vastata siihen.