Próbuję podzielić ciąg na wiele ciągów, ale zamiast za pomocą ciągu tylko jeden prosty wzór regex, próbuję użyć wzorca regex, który podzieli do różnych ciągów znaków, jeśli wykryje określone znaki, ale znaki są różne. Zamiast rozdzielać ciąg na różne ciągi, daje mi to wszystkie poszczególne znaki we wspomnianym łańcuchu.Podziel ciąg na wiele ciągów przy użyciu regeksu z różnymi grupami przechwytywania
String[] splitstr = line.split("([&]{2})?([|]{2})?(!=)?");
Stosując powyższą linię, mam zmienna nazywa line
który jako przykład, kładę tę linię z pliku:
:if[input=right || input=Right]:
jestem po prostu zastanawiasz się, czy istnieje sposób, aby uczynić ten rozłam w
":if[input=right", "input=Right]:"
I jeśli mogę umieścić w jednej linii tak:
:if[input=right || input=Right && input != null]:
tak, że dzieli
":if[input=right", "input=Right", "input != null]:"
używałem String#split(regex)
dla ||
symbolem i to działało dobrze, ale teraz, że chcę podzielić gdziekolwiek są ||
lub &&
lub !=
i chcę mój kod, aby był wydajny i czysty oraz łatwy do odczytania.
Oh my god Myślałam, że to był jakiś specjalny użycie symbolu rury , Cieszę się, że kazałeś mi uciec z fajki! Dzięki! –
Cieszę się, że mogę pomóc @AlexCouch. Nie zapomnij zagłosować na swoje ulubione odpowiedzi, a także dzięki za świetne pytanie! – MJFoster