Java:
Ta bort tecken som matchar ett mönster
Hur man gör:
import java.util.regex.Pattern;
public class PatternMatcher {
public static void main(String[] args) {
String input = "H3j! D3t här är en t3xt med siffr0r.";
String pattern = "\\d"; // \\d matchar alla siffror
String result = deletePattern(input, pattern);
System.out.println(result); // Skriver ut "Hj! Dt här är en txt med siffror."
}
private static String deletePattern(String text, String pattern) {
return text.replaceAll(pattern, "");
}
}
Djupdykning
Förr i tiden renoverades text manuellt eller med enklare strängmanipulationsmetoder. Idag använder vi reguljära uttryck (regex), som introducerades i språk som Perl och blev populär i andra språk. I Java hanterar vi dem med Pattern
och Matcher
klasserna.
Alternativ till regex inkluderar traditionell strängmanipulation (såsom att använda String
metoder replace()
eller substring()
) eller externa bibliotek som Apache Commons Lang StringUtils
.
Java implementerar regex med en kompileringssteg, vilket innebär att det underliggande mönstret kompileras till en intern representation som sedan används för att matcha text. Prestanda kan variera beroende på mönstrets komplexitet och strängens längd.