W jaki sposób sprawdzić jakie ma dokładnie znaki dany string? np. "\n". Potrzebuję wyrwać ze Stringa ważną część a problem mam taki, że po przetworzeniu Stringa nie wiem jak dokładnie wygląda. Wypisuje System.out.println'em właściwy String, ale gdy porównuje go equalsem z tekstem który wypisuje w konsoli, to wyrzuca false.
ciezko zrozumiec problem po opisie ale zakladam ze mozesz np. zrobic petle i porownywac po kolei znaki obu stringow poki nie beda rozne, wtedy wypisac indeks + oba znaki
@Telefon Diabła - podaj przykład łańcucha wejściowego i wyjściowego, bo opis niewiele tłumaczy.
Odbieram stringa(np. tekst="czesc") wysłanego przez bluetootha. Wypisuję go:
System.out.println("Wiadomosc: " +tekst)
Console wypisuje:
czesc
Ale potrzebuję przekazać to do switcha który przyjmuje tę wiadomość i jeżeli tekstem tym będzie "czesc" to ma coś wykonać:
switch (tekst) {
case "czesc":
// cos wykonuje
break;
default:
break;
}
Problem w tym że pod zmienną "tekst" ukrywają się niewidoczne znaki i nie wiem jak sprawdzić jakie są to znaki aby je wyciąć. Pewnie stworze nowy string po tym jak w pętli przeiteruję cały odebrany tekst i sprawdzę czy jest z zakresu a-z. Jest jakaś łatwiejsza metoda?
Zapnij sie debugerem tam gdzie odbierasz wiadomość i zobacz co dokładnie siedzi w tym stringu.
mozesz wywalic wszystie znaki poza a-z jesli cie nie interesuja, uzywajac np String.replaceAll http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String)
dzięki Shalom i katelx. Rozwiązałem już problem przy pomocy debugera- dodatkowo nauczyłem się go obsługiwać :)