# Inhalt zwischen zwei String auslesen?



## Extremefall (23. Mrz 2011)

Hallo,
ich habe nun folgende Situation: Ich habe einen String und dieser String hat zwei Zeichen als Grenzen. Nun dachte ich mir, dass ich die Position der Zeichen irgendwie ermittel und dann mittels substring den Inhalt zwischen diesen Grenzen bestimme. Ist das Möglich und wenn ja, wie mache ich das? Oder wie löst man so etwas am besten?


----------



## Simon_Flagg (23. Mrz 2011)

du hast doch grad die Lösung genannt....

```
string.substring(string.indexOf("startzeichen"), string.indexOf("endzeichen"));
```

so oder so ähnlich sollte es gehen, wenn die begrenzungszeichen gleich sind, musst dus auf zweimal machen

regular expressions gehen natürlich auch....

lg


----------



## Runtime (23. Mrz 2011)

Da wird aber das "startzeichen" mit herausgelesen, wenn dus nicht drin haben willst musst dus so machen:

```
string.substring(string.indexOf("startzeichen") + "startzeichen".length(), string.indexOf("endzeichen"));
```


----------



## Extremefall (23. Mrz 2011)

Sagen wir mal, die Begrenzer sind < und >. Diese kommen dann jeweils fünf mal vor. Kann man dann alle Begrenzer durchlaufen, indem man eine Schleife nutzt? Wie würde am besten gehen?


----------



## Noctarius (23. Mrz 2011)

Regex nutzen: [c]<(.*?)>[/c]


```
String foo = "<test><foo><bar>";
Pattern pattern = Pattern.compile("<(.*?)>");
Matcher matcher = pattern.match(foo);
while (matcher.find()) {
  System.out.println(matcher.group(1));
}
```


----------



## Extremefall (23. Mrz 2011)

Danke, gibt es dafür ein bestimmtes Muster für pattern, wie man diese erstellt?


----------



## Noctarius (23. Mrz 2011)

Ja Regex  Das sind Vergleichsmuster.

Regulärer Ausdruck ? Wikipedia

Ein toller Tester (welcher im Hintergrund auch Java nutzt): RegEx: online regular expression testing


----------



## Runtime (23. Mrz 2011)

Let me google that for you


----------



## Extremefall (25. Jan 2012)

Edit


----------

