Zurück tutorials.de > Programming > Java > Java Grundlagen

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


Einladung zum C++ für Einsteiger-Workshop
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 04.06.07, 20:00   #1 (permalink)
Mitglied
 
Registriert seit: Jun 2007
Beiträge: 11
Renommee-Modifikator: 0
Mnemosine hat eine blütenweiße Weste

Die split Methode

Hallo

Wäre jemand bitte so nett mir zu erklären, wie genau die Splitanweisung Funktioniert? Bei mir sagt er immer er erkennt den Code nicht.

Danke im voraus
  Mnemosine ist offline  
 
Alt 04.06.07, 22:40   #2 (permalink)
Mitglied Platin
 
Registriert seit: Mar 2005
Beiträge: 736
Renommee-Modifikator: 13
lernen.2007 hat eine blütenweiße Weste

AW: Die split Methode

Hallo,

ich glaube du meinst die Splitt Methode von String.

String tutorials = "www.tutorials.de";

String[] splittArray = tutorials.split(".");

Ergebnis:

splittArray[0] = "www";
splittArray[1] = "tutorials";
splittArray[2] = "de";

Du zerteilst einfach einfach den String nach bestimmten Kriterien.

Ein interassentes Link:
http://www.dpunkt.de/java/Referenz/D...a.lang/68.html
  lernen.2007 ist offline  
 
Alt 05.06.07, 17:58   #3 (permalink)
Mitglied Brokat
 
Benutzerbild von tobias_petry  
 
Registriert seit: Nov 2003
Beiträge: 285
Renommee-Modifikator: 14
tobias_petry sorgt für eine eindrucksvolle Atmosphäre

AW: Die split Methode

nur schade, dass das nicht gehen wird
Denn erwartet wird ein regulärer Audruck und in einem RegExp steht der Punkt für ein beliebiges Zeichen, damit man ihn nutzen kann, muss er maskiert werden mit einem Backslash

es müsste also folgendermaßen lauten:
java Code:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
String tutorials = "www.tutorials.de";
 
String[] splittArray = tutorials.split("\\.");
 
Ergebnis:
 
splittArray[0] = "www";
splittArray[1] = "tutorials";
splittArray[2] = "de";
__________________
"If you give someone a program, you will frustrate them for a day
but if you teach them how to program, you will frustrate them for a lifetime."
  tobias_petry ist offline  
 
Alt 05.06.07, 20:03   #4 (permalink)
Mitglied Platin
 
Registriert seit: Mar 2005
Beiträge: 736
Renommee-Modifikator: 13
lernen.2007 hat eine blütenweiße Weste

AW: Die split Methode

Hast Recht.

Danke
  lernen.2007 ist offline  
 
Alt 14.03.08, 15:52   #5 (permalink)
Mitglied Bronze
 
Registriert seit: Mar 2008
Beiträge: 31
Renommee-Modifikator: 5
kirina hat eine blütenweiße Weste

AW: Die split Methode

\\. hieß ja das immer bei einem punkt getrennt wird. aber was bedeutet nur \\ und wenn noch was mit plus drangehängt wird, wird dann wenn das eine ODER das andere ist aufgeteilt oder wenn das eine UND das andere ist.?

hier ein kurzer auszug als beispiel:

Code:
return metadataKeysString.split("\\" + METADATA_KEYS_SEPARATOR);

public static final char METADATA_KEYS_SEPARATOR = '|';
  kirina ist offline  
 
Alt 14.03.08, 18:38   #6 (permalink)
Mitglied Gold
 
Benutzerbild von procurve  
 
Registriert seit: Aug 2007
Beiträge: 159
Renommee-Modifikator: 6
procurve wird schon bald berühmt werden

AW: Die split Methode

\\ entspricht in einem Java-String dem einfachen \

Grund:
Ein einfacher Backslash \ ist ein Steuerzeichen für sogenannte Escape-Sequenzen wie \n, \r, \t, etc.
Um also einen einfachen Backslash \ in einem Java-String darzustellen, muss man ihn mit einem vorangestellten \ "escapen", also \\ schreiben.

Wenn du zwei Strings mit + verknüpfst, wird weder eine UND- noch eine ODER-Operation ausgeführt, sie werden lediglich aneinandergehängt:

Code:
String a = "a";
String b = "b";
String c = a + b;  // -> c = "ab"
Willst du also deine Metadaten bei jeden | aufsplitten, musst du lediglich

Code:
s.split("|");
bzw. in deinem konkreten Fall
Code:
metadataKeysString.split(METADATA_KEYS_SEPARATOR);
schreiben.
  procurve ist offline  
 
Alt 18.03.08, 10:25   #7 (permalink)
Mitglied Bronze
 
Registriert seit: Mar 2008
Beiträge: 31
Renommee-Modifikator: 5
kirina hat eine blütenweiße Weste

AW: Die split Methode

das problem ist das ich einen vorgebenen Code habe, den ich verstehen muss, und der ist eben so:

Code:
return metadataKeysString.split("\\" + METADATA_KEYS_SEPARATOR);
ich muss ein plugin schreiben und diese klasse, die diesen Code enthält brauche ich. des weiteren muss ich das aber weiter entwicklen, weil diese klasse (die jemand anderes geschrieben hat) nicht alles erfüllt was ich brauche. Dazu muss ich aber natürlich verstehen was diese Klasse tut. Naja und es hakt eigentlich nur noch an diesem einen Ding (was ja eigentlich gar nicht schwer ist aber irgendwie...)

naja und meine frage war jetzt eben, ob der code da oben bedeutet das immer bei einem von beiden aufgesplittet wird, oder wie ich mir das vorzustellen hab.

und danke, an die Sache mit \\ = \ hab ich überhaupt nicht mehr drangedacht *schäm*

Geändert von kirina (18.03.08 um 10:27 Uhr).
  kirina ist offline  
 
Alt 18.03.08, 17:01   #8 (permalink)
Mitglied Bronze
 
Registriert seit: Aug 2007
Beiträge: 48
Renommee-Modifikator: 6
mk666 hat eine blütenweiße Weste

AW: Die split Methode

METADATA_KEYS_SEPARATOR dürfte eine Konstante sein die irgendwo innerhalb deiner Klasse oder auch Projekts deklariert ist. Der Inhalt der Konstante wird mit "\\" verkettet und gesplittet wird somit bei jedem Vorkommen von "\\{Inhalt von METADATA_KEYS_SEPARATOR}"
  mk666 ist offline  
 
Alt 19.03.08, 14:49   #9 (permalink)
Mitglied Bronze
 
Registriert seit: Mar 2008
Beiträge: 31
Renommee-Modifikator: 5
kirina hat eine blütenweiße Weste

AW: Die split Methode

public static final char METADATA_KEYS_SEPARATOR = '|';

,-) ich wollte es nicht nochmal posten, da es 2 post weiter oben bereits stand

also wenn ich das richtig verstehe wird bei ' \| ' gesplittet? man könnte also theoretisch auch schreiben

Code:
return metadataKeysString.split("\\|");
um das gleiche ergebnis zu erhalten?

und ich denk mir hier wunder was ,-) danke für eure hilfe!
  kirina ist offline  
 
Alt 10.02.10, 10:57   #10 (permalink)
Ringer
Tutorials.de Gastzugang
 
Beiträge: n/a
AW: Die split Methode

habe auch eine frage zur splitt methode:

habe ein projekt in dem verwende ich sie folgenderweise (jre sysrem library javase-1.6)
String[] splittArray = result.split(":"); und sie funktioniert auch einwandfrei

im anderen projekt (jre sysrem library cdc-1.0/foundation-1.0)
bringt er beim combilieren keine fehlermeldung, wenn der Code aber abgelaufen werden soll bleibt er einfach an der splitt-methode hängen --ohne fehlermeldung--
selbst wenn ich wie oben beschrieben die splitt methode so verwende String[] splittArray = result.split("\\:");

woran kann dies liegen an den unterschiedlichen system libraries ? und wenn ja wie verwende ich dann die splitt-methode
   
 
Alt 14.02.10, 03:45   #11 (permalink)
ɐɯıǝɹ
 
Benutzerbild von Matthias Reitinger tutorials.de Premium-User 
 
Registriert seit: Dec 2001
Ort: Bayern
Beiträge: 5.245
Renommee-Modifikator: 53
Matthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes AnsehenMatthias Reitinger genießt hohes Ansehen

AW: Die split Methode

Auch wenn die Antwort etwas spät kommt, die Nachwelt interessiert es vielleicht:
Zitat:
Zitat von kirina Beitrag anzeigen
public static final char METADATA_KEYS_SEPARATOR = '|';

,-) ich wollte es nicht nochmal posten, da es 2 post weiter oben bereits stand

also wenn ich das richtig verstehe wird bei ' \| ' gesplittet?
Nein! Das Pipe-Zeichen ist in regulären Ausdrücken ein Steuerzeichen (für eine Alternative). Wenn man ein Steuerzeichen als normales Zeichen verwenden will, muss man es erst „escapen“, also ein „\“ voranstellen. Der reguläre Ausdruck „\|“ erkennt also das Zeichen „|“. In Zeichenkettenliteralen muss ein einzelnes „\“ als „\\“ notiert werden, deshalb wird daraus insgesamt "\\|". Aber das wurde ja weiter oben schon erwähnt.

[QUOTE=kirina;1588196]man könnte also theoretisch auch schreiben

Code:
return metadataKeysString.split("\\|");
Das wiederum ist richtig.


Zitat:
Zitat von Ringer Beitrag anzeigen
habe ein projekt in dem verwende ich sie folgenderweise (jre sysrem library javase-1.6)
String[] splittArray = result.split(":"); und sie funktioniert auch einwandfrei

im anderen projekt (jre sysrem library cdc-1.0/foundation-1.0)
bringt er beim combilieren keine fehlermeldung, wenn der Code aber abgelaufen werden soll bleibt er einfach an der splitt-methode hängen --ohne fehlermeldung--
selbst wenn ich wie oben beschrieben die splitt methode so verwende String[] splittArray = result.split("\\:");

woran kann dies liegen an den unterschiedlichen system libraries ? und wenn ja wie verwende ich dann die splitt-methode
Ja. Bei CDC gibt es keine Methode split. Wenn beim Kompilieren diesbezüglich keine Fehlermeldung auftrat, machst du irgendetwas falsch.

Grüße,
Matthias
__________________
„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”


Aktuelles Coding Quiz: #13 - Zahlengewurschtel

Geändert von Matthias Reitinger (14.02.10 um 03:52 Uhr).
  Matthias Reitinger ist offline  
 
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
Die Methode: focus() messmar Javascript & Ajax 4 09.12.06 12:15
JMenuBar und die Paint() Methode BabyMitSchnully Java 3 13.11.06 13:17
C# Split Methode nachprogrammieren draig C/C++ 1 29.11.05 15:17
Frage zur Methode - split oder nicht Feely PHP 4 20.01.05 09:06
split() Methode für Java Version 1.3.1_1 nautiLus` Java 2 09.01.04 14:17
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 132
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 261
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 147
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 100
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 189
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 79,79%
150 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 20,21%
38 Stimmen
Stimmen gesamt: 188
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,19734 Sekunden mit 26 queries