# String Stelle ausgeben



## Bit2_Gosu (9. Mrz 2007)

Hi !

Ich habe eine Funktion      test(string x).

x sei z.B.  "34532893343"

Wie kann ich denn innerhalb von test()  die  y-ste Stelle von x ausgeben lassen ???


Danke  :wink:


----------



## nocxsville (9. Mrz 2007)

String#charAt(int)

System.out.println(String#charAt(y));

In vielen Fällen hilft ein Blick in die API


----------



## Bit2_Gosu (9. Mrz 2007)

Hm jo Danke ! das ist schonmal gut !   Nur was ist, wenn x jetzt       "345/342,123/23,67"        ist

Dann sind ja nicht mehr alle enthaltenen Zeichen Integers... Was mach ich dann ??


----------



## JPKI (9. Mrz 2007)

```
StringBuffer buffer = new StringBuffer();
java.util.regex.Pattern p = new java.util.regex.Pattern("/"); //Im Konstruktorstring einfach alle Trennzeichen angeben
String s[] = p.split(x); //x ist der Parameterstring

for (int i = 0; i < s.length; i++)
 buffer.append(s[i]);

return buffer.toString().charAt(y); //y ist die Stelle im String
```

Hoffe, ich hab das Problem richtig verstanden


----------



## nocxsville (9. Mrz 2007)

Bit2_Gosu hat gesagt.:
			
		

> Hm jo Danke ! das ist schonmal gut !   Nur was ist, wenn x jetzt       "345/342,123/23,67"        ist
> 
> Dann sind ja nicht mehr alle enthaltenen Zeichen Integers... Was mach ich dann ??



Das ist egal... String#charAt(y) gibt dir das Zeichen an der Stelle y zurück.


----------



## Bit2_Gosu (9. Mrz 2007)

Aber ich musste jetzt

int hh = x.charAt(2);

sagen und damit kann hh doch nur vom Typ integer sein oder ??


----------



## nocxsville (9. Mrz 2007)

Bit2_Gosu hat gesagt.:
			
		

> Aber ich musste jetzt
> 
> int hh = x.charAt(2);
> 
> sagen und damit kann hh doch nur vom Typ integer sein oder ??



In dem Fall ja, kommt halt drauf an, was du überhaupt bezwecken möchtest. Wenn du


```
final char zeichen = str.charAt(2);
```

schreibst gehts wieder  Aber wie gesagt, kommt drauf, was du tun möchtest.

Gruß,
nocxsville.


----------



## Bit2_Gosu (9. Mrz 2007)

Also ich will zB. abfragen können:

if (x.charAt(1)== ",")

Leider geht das aber nicht, weil char und String nicht vergleichbar sind...

Hast du vielleicht noch ne Idee, was man hier machen könnte ??


Danke   :wink:


----------



## nocxsville (9. Mrz 2007)

Bit2_Gosu hat gesagt.:
			
		

> if (x.charAt(1)== ",")
> quote]
> 
> Strings vergleich man mit str1.equals(str2) auf inhaltliche Gleichheit. Mit == vergleichst du nur referenzielle Gleichheit. String#charAt(x) liefert dir keinen String sondern ein char zurück, der Vergleich ist also folgender
> ...


----------



## Bit2_Gosu (10. Mrz 2007)

Ah cool !    Vielen Dank für deine Mühe, ich bin halt noch ein n4b


----------



## Leroy42 (10. Mrz 2007)

Bit2_Gosu hat gesagt.:
			
		

> ich bin halt noch ein n4b


 :shock: Watt iss datt denn?  :shock: 

Unter einem _n4a_ könnt' ich mir ja noch notgedrungen
etwas vorstellen! 

(Buchstaben deutsch aussprechen und die Ziffer englisch)

(Naja, klingt halt auch nur so ähnlich.   )


----------

