Java:
Tekstin etsiminen ja korvaaminen
Miten:
Java tarjoaa String
-luokan, jossa on metodit replace()
ja replaceAll()
tekstinkäsittelyyn. replace()
toimii merkeille ja merkkijonoille, replaceAll()
säännöllisille lausekkeille.
public class StringReplaceExample {
public static void main(String[] args) {
String originalString = "Ohjelmointi on hauskaa, kunnes ei ole.";
String replacedString = originalString.replace("hauskaa", "hidasta");
System.out.println(replacedString);
String regexReplacedString = originalString.replaceAll("hauskaa|ei ole", "turhauttavaa");
System.out.println(regexReplacedString);
}
}
Tulostus:
Ohjelmointi on hidasta, kunnes ei ole.
Ohjelmointi on turhauttavaa, kunnes turhauttavaa.
Syväsukellus:
Historiallisesti tekstin korvaaminen tiedostoissa tehtiin komentorivillä käyttäen työkaluja kuten sed
tai awk
Unix-pohjaisissa järjestelmissä. Java-toteutus on osa korkean tason API:a, joka tekee käsittelystä yksinkertaista. replaceAll()
käyttää säännöllisiä lausekkeita, jotka ovat voimakas mutta monimutkainen työkalu tekstinkäsittelyyn. Tämä on nopeampaa ja joustavampaa kuin manuaalisesti kirjoitetut ratkaisut.
Katso Myös:
- Java String Documentation: https://docs.oracle.com/javase/10/docs/api/java/lang/String.html
- RegExr, säännöllisten lausekkeiden harjoitteluun: https://regexr.com/
Pattern
jaMatcher
luokat: https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html