Problem mit currtentLine.replace

Das scheint es aber auch nicht zu sein mit dem unsichtbaren Zeichen^^

Also der Code ist:

String currentLine = "GET /M[%225%22,%20%2215%22,%20%229%22,%20%2230%22,%20%2219%22,%20%2235%22,%20%2214%22,%20%227%22,%20%2232%22,%20%2229%22,%20%2231%22,%20%2241%22,%20%226%22,%20%22[]%22] HTTP/1.1";

void setup()
{
  Serial.begin(115200);
  Serial.println(F("Start..."));
  Serial.println(F("\nProgrammstart"));
  Serial.println(currentLine.indexOf('['));
  Serial.println(currentLine.lastIndexOf(']'));
  Serial.println(currentLine);
  currentLine = currentLine.substring(1 + currentLine.indexOf("["), currentLine.lastIndexOf(']'));
  Serial.println(currentLine);
currentLine.replace("%22", "");
  currentLine.replace("%20", "");
  currentLine.replace(",[]", "");
  Serial.println(currentLine);
}
void loop()
{
}

Das Ergebnis ist:

Start...

Programmstart
6
167
GET /M[%225%22,%20%2215%22,%20%229%22,%20%2230%22,%20%2219%22,%20%2235%22,%20%2214%22,%20%227%22,%20%2232%22,%20%2229%22,%20%2231%22,%20%2241%22,%20%226%22,%20%22[]%22] HTTP/1.1
%225%22,%20%2215%22,%20%229%22,%20%2230%22,%20%2219%22,%20%2235%22,%20%2214%22,%20%227%22,%20%2232%22,%20%2229%22,%20%2231%22,%20%2241%22,%20%226%22,%20%22[]%22
%225%22,%2215%22,%229%22,%2230%22,%2219%22,%2235%22,%2214%22,%227%22,%2232%22,%2229%22,%2231%22,%2241%22,%226%22,%22[]%22

Der "Fehler" beim Hochladen des Codes ist:

Der Sketch verwendet 6301 Bytes (12%) des Programmspeicherplatzes. Das Maximum sind 48640 Bytes.
Globale Variablen verwenden 193 Bytes (3%) des dynamischen Speichers, 5951 Bytes für lokale Variablen verbleiben. Das Maximum sind 6144 Bytes.
avrdude: WARNING: invalid value for unused bits in fuse "fuse5", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xcd instead of 0xc9 (double check with your datasheet first).