Strings und Arrays

Disap

Mitglied
Moin zusammen.
Habe hier ein Problem, dass ich nicht wirklich lösen kann. Und zwar habe ich einen String, in dem ein Satz steht. Nun möchte ich jedes Wort dieses Satzes in ein Array packen, was ich erst einmal mit substring gelöst habe

Code:
public class Test{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	
		String myText = "Hier steht Text.";
		
		//Nimm jedes Wort aus dem String und leg es in ein Array
		
		char[] wordOne = myText.substring(0,4).toCharArray();
		char[] wordTwo = myText.substring(5,10).toCharArray();
		char[] wordThree = myText.substring(11,15).toCharArray();
		
		//Gib Wörter aus
		System.out.println(wordOne);
		System.out.println(wordTwo);
		System.out.println(wordThree);
		
	}

}

Kann ich "Hier steht Text." nicht auch irgendwie zeichenweise bis zum Leerzeichen einlesen und in ein Array schreiben?
Unter anderem dachte ich aber an eine Indizierung der Arrays, ich möchte nicht immer wordOne eingeben, sondern z. B. mit einer For alle Wörter bequem ausgeben. Außerdem kann ich ja jetzt den String nicht mehr ändern, ohne gleich alle chars ändern zu müssen.

Die Ausgabe soll hier sein:
Hier
steht
Text

Keine Satzzeichen, keine Leerzeichen. Wie kann ich das denn geschickter lösen, ohne jedes Wort in ein (Char-) Array zu packen?

Viele Grüße
Disap
 
Hi.

Danke, das war ein guter Tipp, aber noch nicht ganz das, was ich mir erhofft hatte. Also mit split kirege ich es alles wunderbar hin, aber was ist, wenn ich jedes Wort in einer Array einzeln packen möchte? Angenommen ich lese ein Zahl ein, die repräsentativ ist für die Position des Wortes. Z. B. Zahl 0, dann ist damit: "Hier" gemeint-.

Da hilft mir Split nicht? Hat da jemand auch noch einen Vorschlag für mich?

Liebe Grüße
Disap
 
So ganz genau hab ich dich nicht verstanden, aber schau dir mal das Beispiel an:

Java:
public class WordSplitExample {

	public static void main(String args[]) {

		String s = "Hier steht Text.";
		String[] words = s.split(" ");

		for(int i = 0; i < words.length; i++) {

			System.out.println("words[" + i + "] = " + words[i]);

			char[] chars = words[i].toCharArray();

			for(int j = 0; j < chars.length; j++) {

				System.out.println("\tchars[" + j + "] = " + chars[j]);
			}
		}
	}
}
 
Zuletzt bearbeitet von einem Moderator:
Guten Morgen

Ich habe da noch eine Idee für dich.

Beschäftige dich mal mit dem StringTokenizer !

Ich glaube das wird dir helfen .

Gruß gora
 
Zurück