In String ab bestimmter stelle schreiben

MScalli

Erfahrenes Mitglied
Hi Leutz.

Wie bringe ich es hin das ich ab einer bestimmten Stelle in einen String schreibe..
d.h.

String str, teil1="teil1", teil2="teil2", teil3="teil3";

nun soll teil 1 ab der 10 stelle im String stehen, teil2 ab der 20 und teil3 ab der 30
d.h.

str soll dann so aussehen
str = "----------teil1-----teil2-----teil3-----"

** leerzeichen werdne leider nicht dargestellt.. deswegen nehme ich "-"
 
Zuletzt bearbeitet:

zerix

Hausmeister
Moderator
Hallo,

hast du einen String, in den das ganze eingebaut werden soll oder was soll gemacht werden?

MFG

Sascha
 

MScalli

Erfahrenes Mitglied
joop.. ich muss diesen string dann übergeben..

sind einige textfelder die ich auslese und dann hab ich einen String in dem steht ab welcher stelle das dann stehen soll.. z.B. tf_artnr ab stelle 15 usw.
 
Zuletzt bearbeitet:

zerix

Hausmeister
Moderator
Ich hab zwar nicht so ganz verstanden was du machen möchtest, aber warum baust du dir den String nicht einfach zusammen?

MFG

Sascha
 

MScalli

Erfahrenes Mitglied
also gibts keine möglichkeit zu sagen

ab der 0ten stelle schreibe var_1
ab der 15ten stelle schreibe var_2
ab der 30ten stelle schreibe var_3 usw.

so wie beim zerhacken mit substring!
 

MScalli

Erfahrenes Mitglied
und nen formatter benutzen.. z.B. so wie beim MaskFormatter
denn ich habe das Problem das wenn in einem Textfeld mal nichts stehtder String total anderst aussieht.
so wollte ich es eigentlich machen!!
Code:
private void saveDataset(){
	String str_art = "";
	
	str_art = tf_artnr.getText();
	str_art += tf_bez1.getText();
	str_art += tf_bez2.getText();
	str_art += tf_teileart.getText();
	str_art += tf_artgruppe.getText();
	str_art += tf_abc_schluessel.getText();
	str_art += "  ";
	str_art += tf_umrechnungsfaktor.getText();
	str_art += tf_mengeneinheit_ek.getText();
	str_art += tf_lieferantennr.getText();
	str_art += tf_wbz.getText();
	str_art += tf_stuecklisten.getText();
	str_art += tf_lager.getText();
	str_art += " ";
	str_art += "           ";
	str_art += "           ";
	str_art += tf_akt_lagerbestand.getText();

	 
	System.out.printf(str_art);
	
	String str_skala ="";
	int zaehl_skala = 0;
	for(int i = 0; i < str_art.length(); i++){
		zaehl_skala++;
		
		if(i%10 == 0)
			zaehl_skala = 0;
		
		str_skala += String.valueOf(zaehl_skala);
	}
	System.out.println();
	System.out.println(str_skala);
}

die skala ist nur zum ablesen an welcher stelle die Strings stehen..

wenn ich alles eintrage dann gehts..
aber wenn ich jetzt mal in nem Feld nichts habe rücken alle anderen Strings um soviel stellen nach links!!
 

MScalli

Erfahrenes Mitglied
das wär natürlich ne super sache.. leider darf ich nicht.

es wird ein cobol Programm augerufen dem ich diesen String übergeben muss.
und deswegen muss jedes TextFeld ab ner bestimmten spalte anfangen.

wenn ich bei allen Textfeldern den MaskFormatter nehmen könnte wärs auch kein Prob..
leider geht das auch nicht da ich zuviel abprüfen muss usw.

also ist die einzige chance das teil irgendwie per hand zusammen zu flicken...
nur ich weiss echt nicht wie
 

Matze

Weltenwanderer
Nimm halt dennoch einen Vector und speicher dort nacheinander alle Texte rein. Anschließend erstellst du einen neuen String und fügst den ersten Text ein. Dann überprüfst du, wie viele Zeichen noch bis zur nächsten Grenze fehlen und füllst entsprechend viele Leerzeichen. Dann den nächsten String ...

Klar soweit? ^^