Leerzeichen im char Array setzen

chillerStudent

Bekanntes Mitglied
Guten Tag,

wenn ich z.b. einen String habe, den ich zu einem char array umwandele. Das char array bearbeite ich und konvertiere wieder zu einem String.
Wie schaffe ich es, dass die leerzeichen trotzdem enthalten sind?

z.b.

Java:
String st = "";
for(int i=0; i<args.length; i++) {
	st += args[i];
}
char[] a = st.toCharArray();
//...

String g = new String(a);
System.out.print(g);

Es muss aber nicht sein, dass es am Ende wieder zu String umgewandelt wird. Hauptsache die leerzeichen sind enthalten.
 
I

irgendjemand

Gast
also was auch immer dein for()-loop da machen soll ... würde ich definitiv anderst lösen ...

ansonsten : String.toCharArray() entfernt whitespaces 0x20 ? ... nicht das mir das bekannt wäre ... liegt wahrscheinlich an dem code mit dem du das char-array manipulierst ...

ist aus dem stück code da leider nicht ersichtlich
 

Michael...

Top Contributor
Wo verschwindenen die Leerzeichen. Nichts aus dem von Dir gezeigten Code lässt Leerzeichen aus einem String oder einem char-Array verschwinden.

Gib doch einfach mal direkt nach der Schleife
Code:
st
auf der Konsole aus. Vermutlich wirst Du entgegen Deiner Erwartung (woher die auch immer kommt) keine Leerzeichen finden.
 
B

bygones

Gast
und mit code:
Java:
    public static void main(String[] args)  {
        String s = "H A L L O";
        char[] c = s.toCharArray();
        String t = new String(c);
        System.out.println(t); // Ausgabe: H A L L O
    }
 

Kiri

Bekanntes Mitglied
Dein Problem dürfte sein, dass in args keine Leerzeichen vorhanden sind, da die args durch Leerzeichen bei der Eingabe getrennt sind.

Das heißt die Eingabe: Argument1 Argument2
ergibt: args[0] = "Argument1"; args[1] = "Argument2"; --> kein Leerzeichen
 

chillerStudent

Bekanntes Mitglied
Gib doch einfach mal direkt nach der Schleife st auf der Konsole aus. Vermutlich wirst Du entgegen Deiner Erwartung (woher die auch immer kommt) keine Leerzeichen finden.
Ich möchte nicht das st ausgeben sondern das char array.


Ohh, sorry sorry, ich hab da was ganz wichtiges vergessen.

Vergisst bitte den ersten code: hier der neue
Java:
StringBuffer b = new StringBuffer();
for(int i=0; i<args.length; i++) {
			b.append(args[i]);
		}
char[] a = b.toString().toCharArray();

//...

String g = new String(a);
System.out.print(g);
 

chillerStudent

Bekanntes Mitglied
Dein Problem dürfte sein, dass in args keine Leerzeichen vorhanden sind, da die args durch Leerzeichen bei der Eingabe getrennt sind.

Das heißt die Eingabe: Argument1 Argument2
ergibt: args[0] = "Argument1"; args[1] = "Argument2"; --> kein Leerzeichen

Genauaa!!
Das ist mein Problem. Gibt es eine MÖglichkeit Leerzeichen einzufügen?
 

faetzminator

Gesperrter Benutzer
Wenn du schon einen Builder verwendest, dann bitte gleich ohne Stringkonkatenationen:
Java:
for(int i = 0; i < args.length; i++) {
    b.append(args[i]);
    b.append(' ');
}
Zusätzlich kannst du aber das Leerzeichen am Schluss (oder Anfang) weglassen:
Java:
for(int i = 0; i < args.length; i++) {
    if (i != 0) {
        b.append(' ');
    }
    b.append(args[i]);
}
Oder wenn du es nachträglich mit [c]trim()[/c] machen willst:
Java:
for(String value : args) {
    b.append(value);
    b.append(' ');
}
String str = b.toString().trim();
Da verlierst du aber natürlich auch allfällige Leerzeichen am Anfang des ersten bzw. am Ende des letzten Parameters.
 

chillerStudent

Bekanntes Mitglied
Ich hab da mal noch eine Frage. Aber möchte jetzt nicht ein neues Thema anfangen.

Wenn z.b. in einem wort wie "otto" zwei mal hintereinander der gleiche Buchstabe vorkommt wie schaffe ich es dass es nur einmal am ende ausgegeben wird: "oto"

Gibt es in java eine delete funktion für char?
 

Michael...

Top Contributor
Arrays sind starre Konstrukte. Einmal angelegt sind sie in Ihrer Aufnahmekapazität fix.
Aus einer List wäre ein Löschen möglich.
Bei einem Array könnte man die Inhalte verschieben z.B. bei
Code:
o t t o
den Inhalt von Index 2 mit dem Inhalt von Index 3 überschreiben. Allerdings wäre das Array immer noch vier Felder lang und man müsste die Inhalte z.B. per System.arraycopy(...) oder einer Schleife in ein neues char[3] kopieren.

Wenn es allerdings wie beschrieben um die Ausgabe geht recht es sich den zuletzt ausgegebenen Buchstaben zu merken und falls der darauf folgende Buchstabe gleich ist diesen einfach nicht auszugeben.
 

chillerStudent

Bekanntes Mitglied
ok. verstehe. So?

Java:
StringBuffer b = new StringBuffer();
for(int i=0; i<args.length; i++) {
            b.append(args[i]);
        }
char[] a = b.toString().toCharArray();
 
//...
if(a[i+1] == a[i]) {
 a[i+1] = ' ' ; // ???
 }
String g = new String(a);
System.out.print(g);
 

Kiri

Bekanntes Mitglied
so würde es gehen:

Java:
        char[] a = new char[4];
        a[0] = 'O';
        a[1] = 't';
        a[2] = 't';
        a[3] = 'o';
       
        for(int i = 0; i < a.length; i++)
        {
            if(i<a.length-1)
            {
                if(a[i] != a[i+1])
                {
                    System.out.print(a[i]);
                }
            }else
            {
                System.out.print(a[i]);
            }
        }
        System.out.println();
 

Kiri

Bekanntes Mitglied
meinst du sowas:

Java:
        char[] a = new char[2];
        a[0] = 'b';
        a[1] = 'c';

oder was?
 

chillerStudent

Bekanntes Mitglied
meinst du sowas:

Java:
        char[] a = new char[2];
        a[0] = 'b';
        a[1] = 'c';

oder was?

Nein, ich meine sowas:

Java:
char[] a = new char[2];
        a[0] = 'bc'; // natürlich falsch

Also wenn ich ein String in ein char array umwandele soll er die letzten zeichen die zusammen gehören
nicht trennen.
zb.
Java:
String s = "ich lerne java";
StringBuffer sb = new StringBuffer(s);
char[] c = sb.toString().toCharArray();

Das letzte wort "java" soll nicht in einzelne zeichen getrennt werden.
 

AmunRa

Gesperrter Benutzer
Das letzte Wort eines Strings kannst du mit

Java:
String s="Hallo Java";
String java = s.substring(s.lastIndexOf(" ")+1);
System.out.println(java);


erhalten
 

chillerStudent

Bekanntes Mitglied
geht nicht wenn ich sowas hab

Java:
for(int i=0; i<args.length; i++) { 
			b.append(args[i]+" ");
		}
		String java = b.substring(b.lastIndexOf(" ")+1);
		System.out.println(java);
 

Michael...

Top Contributor

Kiri

Bekanntes Mitglied
ich glaub ich verstehe diese zeile nicht richtig:

b.substring(b.lastIndexOf(" ")+1);

was macht lastIndexOf ?

lastIndexOf sucht nach dem Zeichen (" ") und zwar nach dem letzten Vorkommen

Beispiel "Ich lerne Java", hier wäre es das Leerzeichen vor "Java"!
+1 er soll ein Zeichen später anfangen, hier das "J"

Dein Problem ist deine Strings sehen so aus "Ich lerne Java ", da ist das letzte " " nach dem "Java", deshalb funktioniert es bei dir nicht. Aber am Anfang dieses Thread haben wir dich schon darauf hingewiesen, dass letzte Leerzeichen zu entfernen. Du hast in diesem Thread alles, was du brauchst.
 

Kiri

Bekanntes Mitglied
Sehr schön. Habe verstanden.
Also muss ich subtrahieren.

Nein, du musst das letzte Leerzeichen entweder entfernen oder dafür sorgen, dass es gar nicht erst entsteht.

substring(startindex); --> hier wird aus einem String/StringBuffer der Teil ausgewählt ab dem startindex bis zum Ende. Das +1 steht dafür, dass das Leerzeichen nicht mit ausgewählt wird, sondern erst ein Zeichen später angefangen (+1) wird.
 

TKausL

Top Contributor
Edit: Seite 2 nicht gesehen :lol:

Edit2: Wofür steckst du denn alle args in einen String, um danach wieder das letzte Wort (das letzte arg) rauszuholen?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
M wie auf ein feld mit leerzeichen in einem char array prüfen? Java Basics - Anfänger-Themen 4
melaniemueller setCharAt Leerzeichen zusätzlich einfügen Java Basics - Anfänger-Themen 8
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
M Warum werden character, die Leerzeichen sind, nicht korrekt verarbeitet? Java Basics - Anfänger-Themen 2
B String nach erstem Leerzeichen trennen Java Basics - Anfänger-Themen 7
O Methode über Leerzeichen Java Basics - Anfänger-Themen 13
D jsoup get class name mit leerzeichen Java Basics - Anfänger-Themen 7
O String Methode für längste Sequenz von Leerzeichen Java Basics - Anfänger-Themen 35
J am Anfang eines String ein Leerzeichen löschen Java Basics - Anfänger-Themen 6
J Leerzeichen im Pfad automatisch erkennen Java Basics - Anfänger-Themen 30
D Leerzeichen entfernen Java Basics - Anfänger-Themen 4
P Java Leerzeichen in der Ausgabe entfernen Java Basics - Anfänger-Themen 3
Phillip Leerzeichen nach Zahlen bei Ausgabe Java Basics - Anfänger-Themen 6
I Bei Umlauten und Leerzeichen im Pfad, wird Datei nicht gefunden Java Basics - Anfänger-Themen 5
M (Leerzeichen) zu einem gesuchten String Java Basics - Anfänger-Themen 4
S Leerzeichen zwischen zwei Zeichen im String entfernen Java Basics - Anfänger-Themen 19
C Aus einer Textdatei Zahlen lesen mit Leerzeichen Java Basics - Anfänger-Themen 11
P Leerzeichen in Pfad... Java Basics - Anfänger-Themen 17
T Leerzeichen zählen mit Rekursion Java Basics - Anfänger-Themen 17
H String mit Leerzeichen in Variablen zerlegen Java Basics - Anfänger-Themen 4
M String vergleichen - Leerzeichen Ignorieren? Java Basics - Anfänger-Themen 4
M nach Typenkonvertierung Leerzeichen ersetzen Java Basics - Anfänger-Themen 2
J Alle Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 13
P int-Werte im String (mit Hilfe vom Leerzeichen) trennen? Java Basics - Anfänger-Themen 2
S Leerzeichen herausfiltern Java Basics - Anfänger-Themen 10
T Zeichen als Leerzeichen weitergegeben Java Basics - Anfänger-Themen 13
D Hilfe beim einlesen eines Strings mit Leerzeichen Java Basics - Anfänger-Themen 16
G Multiple Leerzeichen entfernen Java Basics - Anfänger-Themen 13
C Stringeingabe: kein Satz wegen Leerzeichen möglich Java Basics - Anfänger-Themen 3
D Erste Schritte RandomAccessFile "Leerzeichen" löschen Java Basics - Anfänger-Themen 6
T Erste Schritte Eingelesenen Satz - Wörter und Leerzeichen getrennt in 2x Array's Java Basics - Anfänger-Themen 7
G Leerzeichen einfügen Java Basics - Anfänger-Themen 3
3 Leerzeichen erkennen Java Basics - Anfänger-Themen 3
F Leerzeichen zwischen jeden Buchstaben eines Strings einfügen Java Basics - Anfänger-Themen 16
D Wort nach Leerzeichen - String Java Basics - Anfänger-Themen 10
X nach split leerzeichen weg Java Basics - Anfänger-Themen 4
K Int Array mit "Leerzeichen" füllen Java Basics - Anfänger-Themen 2
D mehrere Leerzeichen durch 1 Leerzeichen ersetzen Java Basics - Anfänger-Themen 3
M property-Datei: key mit Leerzeichen? Java Basics - Anfänger-Themen 3
I Zeichen zählen ohne Leerzeichen Java Basics - Anfänger-Themen 3
A Leerzeichen bei Ausgabe? Java Basics - Anfänger-Themen 3
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
C mehrere Leerzeichen zwischen Strings Java Basics - Anfänger-Themen 4
P Probleme mit Runtime.exec und Leerzeichen Java Basics - Anfänger-Themen 15
G String in Array einfügen, leerzeichen! Java Basics - Anfänger-Themen 2
S regular expression - bekomme leerzeichen nicht raus Java Basics - Anfänger-Themen 3
O Leerzeichen aus Java Basics - Anfänger-Themen 11
P Leerzeichen-Problem bei Verzeichnispfad Java Basics - Anfänger-Themen 7
O Leerzeichen im Pfad Java Basics - Anfänger-Themen 8
B Woerter, Zeichen, Leerzeichen zaehlen - Problem Java Basics - Anfänger-Themen 3
G Leerzeichen in String einfügen Java Basics - Anfänger-Themen 1
H wie spreche ich durch leerzeichen im string neuen index an Java Basics - Anfänger-Themen 10
F Leerzeichen in Pfadangabe beim Befehl exec() Java Basics - Anfänger-Themen 5
G Split Operation: ein oder mehrere Leerzeichen Java Basics - Anfänger-Themen 7
padde479 Runtime.getRuntime.exec() Leerzeichen unterdrücken Java Basics - Anfänger-Themen 2
M Leerzeichen löschen Java Basics - Anfänger-Themen 2
F Leerzeichen in Integer Array speichern Java Basics - Anfänger-Themen 7
I String mit Leerzeichen einlesen Java Basics - Anfänger-Themen 3
D Abfrage auf Leerzeichen Java Basics - Anfänger-Themen 5
G Im Zeichenarray Leerzeichen invertieren Java Basics - Anfänger-Themen 5
G String mit next()-Methode einlesen - keine Leerzeichen! Java Basics - Anfänger-Themen 11
S Problem beim setzen von JAVA_HOME (Leerzeichen?) Java Basics - Anfänger-Themen 7
R Am Begin und Ende eines Strings die Leerzeichen löschen ? Java Basics - Anfänger-Themen 3
M Leerzeichen in Dateinamen ein Problem ? Java Basics - Anfänger-Themen 4
F Leerzeichen in einen String einfügen. Java Basics - Anfänger-Themen 15
D ausgabe verändern (statt zeilenumbruch leerzeichen) Java Basics - Anfänger-Themen 2
S Einen langen String beim Leerzeichen in zwei Strings zerlege Java Basics - Anfänger-Themen 3
S txt-Datei nach Leerzeichen Splitten lassen! Java Basics - Anfänger-Themen 3
S Leerzeichen replacen Java Basics - Anfänger-Themen 5
F Problem mit Zeichenkette nur aus Leerzeichen Java Basics - Anfänger-Themen 4
T String Leerzeichen wegschneiden Java Basics - Anfänger-Themen 2
L Leerzeichen erfragen Java Basics - Anfänger-Themen 4
L Steuerzeichen für Space (Leerzeichen)? Java Basics - Anfänger-Themen 3
J Dateipfad mit Leerzeichen Java Basics - Anfänger-Themen 10
C Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 8
A replaceAll und Leerzeichen Java Basics - Anfänger-Themen 2
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
D 2D Char Array into String Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
Tommilee Char ausgeben Java Basics - Anfänger-Themen 5
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
P9cman Char Index rekursiv finden Java Basics - Anfänger-Themen 4
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
C String/Char-API Java Basics - Anfänger-Themen 13
U Char zu einem String machen Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
W char über die Konsole? Java Basics - Anfänger-Themen 7
C char c Java Basics - Anfänger-Themen 13
D String und char in String speichern Java Basics - Anfänger-Themen 5
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
R String in char-Array übertragen Java Basics - Anfänger-Themen 5
P Methoden Namen trennen mit .substring(), char.At(), .lenght() Java Basics - Anfänger-Themen 8
Z Char Array an zufälligen stellen mit einem "x" füllen. Java Basics - Anfänger-Themen 4
A Datentyp char Java Basics - Anfänger-Themen 27

Ähnliche Java Themen

Neue Themen


Oben