Stringinhalt ändern

celloman

Erfahrenes Mitglied
Hallo

Ich habe ein kleines Problem.

Möchte gerne Diese Zeile ändern.

;FOLD 10: EMZ P2=Weg Vor 1/10mm P3=Weg rueck 1/10mm P4=EMZNr P5=Frei P6=Weg Offset 1/10mm P2=0 P3=10 P4=1 P5=1 P6=10;%{SE}%MKUKATPVW %CVW_SPS %VUSER %P 2:VW_USER P1= 1 P2= 0 P3= 10 P4= 1 P5= 1 P6= 10 P7= F121,3: USER

Das Rot Markierte anstelle des Grünen kopieren (schreiben)

Irgent etwas mache ich falsch.


Code:
 while( (zeile = b.readLine()) != null ) { // liest zeilenweise aus Datei
	              
	         if(zeile.indexOf("EMZ P2")> -1){
	        	  
	        	 
  	        		
	        	 // firstStep= zeile.substring(12,zeile.lastIndexOf(';'));		        			        	 		        	  
	        		
	        	  //secondStep=zeile.substring(zeile.indexOf("(SE)"),zeile.lastIndexOf(':'));
	        	  
	        	  doppelpunkt= zeile.substring(zeile.indexOf("MKUKATPVW")+31, zeile.length()-10);		
	  				
	        
	        	  
  	         }
 
Man kann einen String nicht ändern.
Aber versuchs mal mit replaceAll(String, String).
 
Zuletzt bearbeitet:
Hallo,

ich versuche es mit index of aber komme leider nicht dahinter.

ich versuche sen String den ich gerade lese in andere Strings zu übergeben.

Beispiel:

;FOLD 10: EMZ P2=Weg Vor 1/10mm P3=Weg rueck 1/10mm P4=EMZNr P5=Frei P6=Weg Offset 1/10mm P2=0 P3=10 P4=1 P5=1 P6=10;%{SE}%MKUKATPVW %CVW_SPS %VUSER %P 2:VW_USER P1= 1 P2= 0 P3= 10 P4= 1 P5= 1 P6= 10 P7= F121,3: USER

Ich möchte die zeile von ; bis zum erstem : in ein String übergeben.

gibt es irgent etwas anstatt lastIndex() etwas anderes wie nextIndex.()
 
Hallo celloman,

Kai008 hat völlig recht, String ist immutable. Wird hier kurz erläutert.

Wenn Du Strings in Teile zerlegen willst, würde ich den StringTokenizer nehmen. Da kannst Du angeben, was den String splitten soll und nach dem nächsten Token fragen.

Da das ganze schon wie eine Aufgabe aussieht, wie ist denn die Aufgabenstellung?

Gruß Sen
 
@Sentoo: StringTokenizer bitte nicht mehr verwenden.

StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.
 
Interessant, wusste ich gar nicht. Stimmt schon geht ja auch mit String.split().
Ok, dann versuch's eben mit dem Spit ;)
 
hy,

ich möchte diese Zeile in mehrere Strings packen.

Die Zeile nach bestimmten Zeichen suchen und in unterschiedliche Strings übergeben.

ein Befehl wie (von bis ) sollte es doch bestimmt geben.

Trim ist für so etwas doch sehr aufwendig oder teusche ich mich.
 
hy,

ich möchte diese Zeile in mehrere Strings packen.

Die Zeile nach bestimmten Zeichen suchen und in unterschiedliche Strings übergeben.

ein Befehl wie (von bis ) sollte es doch bestimmt geben.

Trim ist für so etwas doch sehr aufwendig oder teusche ich mich.

substring(int beginIndex, int endIndex)
Returns a new string that is a substring of this string.
Das ist doch mit von bis

Suche in dem String nach dem ersten vorkommen von dem ;
und von dem index aus schaust du weiter nach dem ersten :
Das kannst du machen mit indexOf
 
Ich bleib dabei, mit split (nicht trim) geht's einfacher, ich glaube nicht mal das das langsamer ist.

Hier ist ein Beispiel: http://www.rgagnon.com/javadetails/java-0438.html

Du müsstest den eingelesenen String splitten, das entstandene Array durchlaufen und die Teile die du daraus haben möchtest in einen StringBuffer appenden. Das was du ersetzen willst, ersetzt du eben.

Gruß Sen
 

Neue Beiträge

Zurück