# Teilstring extrahieren



## Verena (15. Feb 2012)

Guten Tag,

eine Zeichenkette (varstring1) soll Zeichen für Zeichen untersucht werden.
Dazu bilde ich eine For-Schleife von 0 bis varstring1.length.
Nun soll in varstring2 ein einzelnes Zeichen aus varstring1 herausgelöst werden und dann untersucht werden.
Mit varstring2 = varstring1.charAt(i);
funktioniert das nicht.

Wie muss der Übertragungsbefehl richtig aussehen?

Besten Dank im Voraus.

Gruß

Verena


----------



## Gast2 (15. Feb 2012)

varstring2 muss ein char sein, dann klappts auch.


----------



## André Uhres (15. Feb 2012)

Hallo Verena,

herzlich willkommen bei "java-forum.org"!

Versuch's mal mit der Methode String.valueOf.

Gruß,
André


----------



## Verena (15. Feb 2012)

Hallo,

vielen Dank für Deinen Beitrag. Gut, möglich dass charAt eine Char-Variable benötigt. Aber:

Wie kann man prüfen ob das 3. oder 4. Zeichen usw. eines Strings ungleich eines zu überprüfenden Zeichens ist.
Muss dazu wirklich das betreffende Zeichen aus einer Stringvariablen herausgelöst und in eine char-Variable übertragen werden, um dann geprüft werden zu können?

Dank im voraus.

Gruß

Verena


----------



## Gast2 (15. Feb 2012)

Nein, du kannst das ganze auch anders lösen, per Regex zum Beispiel. Aber der Weg über charAt ist der einfachste.


----------



## Verena (15. Feb 2012)

Hallo,

vielen Dank für alle Hilfen.

Mit substring bin ich ein Stück weiter gekommen.
Aber da ist eine weitere Frage aufgetaucht:

Wie schribt man in Java ungleich einem Zeichen?

if (string1.substring(i,1) *ungleich *" ") ... ,
wobei i die Laufvariable der Forschleife ist.

Dank im Voraus.

Gruß
Verena


----------



## Normann (15. Feb 2012)

probier mal [c] != [/c]


----------



## xehpuk (15. Feb 2012)

Probier lieber 
	
	
	
	





```
if (!string1.substring(i,1).equals(" "))
```
.

… und dann nochmal nachschauen, wofür der zweite Parameter in der Methode steht.

String#substring(int, int)


----------



## Verena (15. Feb 2012)

Hallo,

ich danke Dir für Deinen Beitrag, zu der Schreibweise von ungleich und den Hinweis auf den 2. Parameter.
Meinst Du ich könnte es so formulieren:

if (!string1.substring(*i,i+1*).equals(" "))

Über eine kurze Antwort würde ich mich freuen.

Gruß
Verena


----------



## Landei (15. Feb 2012)

Ja, deine Variante ist richtig. [c]if (string1.charAt(i) != ' ')[/c] ist aber kürzer und verständlicher. Aber aufpassen: [c]' '[/c] ist ein char, [c]" "[/c] ist ein String.

Übrigens gibt es viele nützliche Tests für chars in java.lang.Character, z.B. isLetter, isDigit, isUpperCase, isLowerCase, isWhitespace: [c]if (Character.isWhitespace(string1.charAt(i)))[/c] würde z.B. auf Whitespaces (Leerzeichen, Tabs, Zeilenumbrüche) testen.


----------

