Anfaengerfrage: String ueberpruefen und veraendern

oldboy

Grünschnabel
Hallo liebes Forum ich hoffe sehr ihr koennt mir weiterhelfen.
Also ich muss einen String ueberpruefen ob in ihm ein Punkt '.' steht, wenn ja position im String merken, weiter ueberpruefen ob noch andere Punkte im String sind, wenn ja ebenfalls die Position merken, wenn jetzt der String komplett durch ist sollen die gefundenen Punkte geloescht werden und neue punkte an anderer Stelle gesetzt werden es waere sehr nett wenn ihr mir weiterhelfen koenntet hatte schon ein paar Ideen aber bis jetzt funktioniert keine:(
Vielleicht aht jemand von euch das Problem oder so ein aehnliches schon eimal geloest
Danke im voraus!
liebe Gruesse Flo
 
Mit contains() kannst du herausfinden ob Punkte in dem String vorkommen, mit indexOf() die Stelle bestimmen und mit replace() bzw. replaceAll() die Punkte löschen. Etwas schwieriger wird es dann Punkte an anderer Stelle einzufügen. Da müßtest du den String zerlegen und anschließend wieder zusammenfügen.

Einfacher wird das ganze wohl mit einem StringBuffer oder StringBuilder. Die Punkte kannst du da auch mit indexOf() finden, löschen mit deleteCharAt() und hinzufügen mit insert(). Für die genaue Benutzung schaust am besten mal in die Java-Api.
 
@oldboy
Du solltest das erstma versuchen, dann schreib uns deinen Code wo du net weiterkommst
Schau dir einfach die Funktionen mal in der Api an.
Und das contains musst du gar net benutzen, wenn indexOf ein -1 zurueckgibt, weisst du auch das dort das gesuchte nicht vorkommt.
 
hab mal ein kleines beispiel für dich ...
Code:
String bsp = "Hallo ich bin der xxxx. Ich bin hier seit xxx .";
			
		StringTokenizer t = new StringTokenizer(bsp);
		
		while(t.hasMoreTokens()) {
			String[] punkt = {"."};
			
			String Token = t.nextToken();
			for(String listeneintrag : punkt){

				if(Token.equals(listeneintrag)) 
					//hier wird der "." mit einem "," ersetzt
					bsp = bsp.replace(".", ",");	
			}
		}	
		System.out.println(bsp);
 
Einen StringTokenizer sollte man nicht mehr verwenden. Der befindet sich nur noch aus Kompatibilitätsgründen in Java. Stattdessen sollte man split() aus der String-Klasse verwenden.
 
Ein Beispiel das Technologien verwendet, die man eigentlich nicht mehr benutzen sollte finde ich nicht sonderlich praktikabel. Besonders wenn die Frage von einem Anfänger kommt der das nicht weiß und das Beispiel so übernehmen würde. Davon abgesehen stimme ich MiMi zu. Besser erstmal ausprobieren und dann fragen. Wenn man es vormacht ist der Lerneffekt recht gering.
 
Zurück