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

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 "***":

“//[***]\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 ;/

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

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.

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....

1 użytkowników online, w tym zalogowanych: 0, gości: 1