Wydobycie ciągu znaków ze zmiennej String - Java RegEx

Wydobycie ciągu znaków ze zmiennej String - Java RegEx
AS
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,

Próbuję wydobyć pewien ciąg znaków. Załóżmy, iż będzie to "pCW2Rynki". Skleciłem więc pewien kod i postanowiłem sprawdzić czy działa. Mój kod:

Kopiuj
Pattern pattern = Pattern.compile("pCW2Rynki");
Matcher matcher = pattern.matcher("ciąg do pCW2Rynki 1245 sprawdzenia");
String kk = "";
String nameStr="";
if(matcher.find())
{
    nameStr=matcher.group(1);
    kk = nameStr;
}

Niestety program podczas debugowania zwiesza się, a raczej intensywnie myśli nad linią nameStr=matcher.group(1);
Ewidentnie robię coś nie tak. Pracuję na Android Studio 1.4

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
1

W Javie indeksowanie zaczyna się od zera.

Kopiuj
nameStr = matcher.group(0);
vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
1

Dodaj obsługę wyjątków, bo prawdopodobnie program zgłasza Ci IndexOutOfBoundsException
i się nie zawiesza tylko kończy komunikację z IDE (jeśli go uruchamiasz z IDE).

http://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html#group%28int%29

Przykład minimalnej obsługi tego błędu: https://bugs.openjdk.java.net/browse/JDK-4496424

AS
  • Rejestracja: dni
  • Ostatnio: dni
0

Ano zgadza się. Najwidoczniej źle zrozumiałem jeden z przykładów. Dzięki za pomoc.

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.