Biorąc pod uwagę ten kod:Wymiana ciąg z wyrażenia regularnego zwraca wymianę dwukrotnie
String replaced = "A".replaceAll(".*", "HI");
Dlaczego replaced
zawierać ciąg HIHI
zamiast HI
jak bym się domyślić? Wygląda na to, że ma to coś wspólnego z początkiem linii, ponieważ użycie wzoru daje ^.*
wydajność HI
, ale nie rozumiem tego.
Możesz użyć '. +', Aby uniemożliwić dopasowanie pustego ciągu znaków ("" "). – brimborium