Erste Schritte In CharArrayWriter Zeichen an Stelle einfügen

Quax

Mitglied
Hallo,
ich versuche in einen String an bestimmten Stellen ein bestimmte Zeichen einzufügen. Dazu schreibe ich den String in ein CharArrayWriter. Dort will ich z.B. an die erste Stelle ein X einfügen. Der Code dazu sieht so aus:

Java:
import java.io.CharArrayWriter;
import java.util.regex.*;
import java.util.ArrayList;
import java.util.Arrays;

public class Patter_so {
	private CharArrayWriter cawWort = new CharArrayWriter();
	private String sWort1;
          public Patter_so() {
                         sWort1 = "9.09.1971";
		cawWort.append(sWort1);
		cawWort.append("X", 0, 1);
		System.out.println("Ausgabe: " + cawWort);
                    }
	}

	public static void main(String[] args) {
		Patter_so nNeu = new Patter_so();
	}

}

Wenn ich aber nun den Code ausführe kommt:
Ausgabe: 9.09.1971X
anstatt wie gewünscht
Ausgabe: X9.09.1971

Auch wenn ich mit der Methode write arbeite wird das Zeichen immer am Ende des "Strings" gesetzt.

Der Code soll später dann so funktionieren, dass ich an jeder beliebigen Stelle im String ein beliebiges Zeichen oder auch Blanks einsetzen kann. Hat hier jemand eine Lösung Bitte?
Quax
 
Hallo,

das
Java:
cawWort.append("X", 0, 1);
hängt das "X" immer ans Ende. Mit den anderen beiden Parametern bestimmst du nicht, an welcher Position von cawWort das "X" hingezaubert wird, sondern welchen Teil von "X" du hinten anhängst.
Würdest du folgendes machen:
Java:
cawWort.append("ABC", 1, 2);
dann würde er dir "9.09.1971B" ausgeben.
 
Ok müsste aber die Ausgabe dann nicht "9.09.1971BC" heißen?

Und wie kann ich nun mein Problem lösen, so dass ich an jeder beliebiegen Stelle in einem String, jedes beliebige Zeichen oder auch Blank setzen kann?

Quax
 
"9.09.1971BC" würdest du bekommen, wenn du
Java:
cawWort.append("ABC", 1, 3);
vorgeben würdest.

Bist du auf die Klasse "CharArrayWriter" festgenagelt? Sonst schau dir doch mal die Klasse "StringBuilder" an. Die bringt diverse insert-Methoden mit, von denen sich bestimmt eine für dich eignet.
 

Neue Themen


Zurück
Oben