Jak automatycznie oznaczać znaki specjalne w wyrażeniu podczas rozdzielania stringa

Jak automatycznie oznaczać znaki specjalne w wyrażeniu podczas rozdzielania stringa
Prędki_Lopez
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

Hej.

Piszę StrinCalculator i chcę spełnić jedno wymaganie ale ciągle wywala mi wyjątek kiedy podczas rozdzielania stringa metoda: split(String regex) używane są znaki specjalne dla wyrażeń regularnych. "PatternSyntaxException: Dangling meta character"

Polecenie jest takie:
Ma przyjmować stringa z z dowolną specyfikacją ogranicznika, który musi być podany w ten sposób-->" //[delimiter]\n <-- obowiązkowo a potem dalsza część stringa z wartościami. Ogranicznik może przyjmować dowolną ilość i dowolny rodzaj znaków
Przykład dla ogranicznika ustawionego jako "***":

Kopiuj
“//[***]\n1***2***3” // output: 6

Wszystkie inne znaki oprócz specjalnych mi akceptuje i działa kalkulator, ale nie wiem co zrobić żeby automatycznie wstawiało '\' przed znakami specjalnymi. To pewnie proste jest ale już za długo nad tym siedze ;/

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5025
0

+https://4programmers.net/Forum/1343285
A nie wystarczy, jak Masz wyrażenie, <string input="input">.split(" ") ?
Jak się chce programowac, to trzeba się przez takie rzeczy przekopać: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

Prędki_Lopez
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

Już ogarnąłem:
A) Niestety temat na 4p, który podałeś różni się od zadania, które ja robię (Swoją drogą 12 if'ów w pętli ?:D)
B) Przekopałem się przez takie rzeczy, po prostu zmęczony jestem a muszę to dziś zrobić. Wystarczy: Pattern.quote(); i zwróci literał pomiędzy \Q i \E.

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5025
0
Prędki_Lopez napisał(a):

Już ogarnąłem:
A) Niestety temat na 4p, który podałeś różni się od zadania, które ja robię (Swoją drogą 12 if'ów w pętli ?:D)
B) Przekopałem się przez takie rzeczy, po prostu zmęczony jestem a muszę to dziś zrobić. Wystarczy: Pattern.quote(); i zwróci literał pomiędzy \Q i \E.

Ano, szkoda, że nie Możesz wykorzystać, bo gotowe.
Nie ma co się szokować ilością ifów, przy parsowaniu czegoś to normalne, jak taki tag to zrób to, jak inny to tamto, i tak dalej....

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.