indize statt split()

Status
Nicht offen für weitere Antworten.

Shai

Aktives Mitglied
hi

ich würde gerne einen string zerlegen der die form hat


String s = "zeichenkette1.zeichenkette2.zeichenkette3.zeichenkette4"

können beliebig viele über punkt aneinandergehängte zeichenketten sein.
ich will diese zeichenkette zerlegen ala:
//pseudocode
Code:
String[] zerlegtesS = s.split(".");
s= "";
for(int i = 0;i<zerlegtesS.length;++i){
if(i!=zerlegtesS.length-1)
      s+=zerlegtesS[i];
}

das heisst also ich will die zeichenkette bis auf die letzte durch punkt angehängte zeichenkette haben.
ich hab oft gehört das split nicht gut ist und das man ueber indizes gehen soll.. leider hab ich grad keine ahnung wie ich das hier machen würde. kann mir das jemand mal bitte erläutern?
 
split("\\.")

punkt ist ein spezieller regex ausdruck fuer jegliches zeichen
 
irgendwie soll wohl split nicht immer richtig funktionieren. das hab ich selber auch schon mal erlebt

zu der verbesserung des codes oben : steht extra "pseudocode" dabei ^^
 
irgendwie soll wohl split nicht immer richtig funktionieren

Was ist das denn für eine blödsinnige Behauptung? :shock:

das hab ich selber auch schon mal erlebt

Mit Sicherheit nicht! :lol:


zu der verbesserung des codes oben : steht extra "pseudocode" dabei ^^

???:L

Ich kann mir höchstens vorstellen, daß du spezielle RegExps, wie bygones schrieb,
nicht escaped hattest.
 
ganz schön von sich selbst überzeugt, hoffentlich geht das mal nicht schief ^^

na dann glaub ich dir einfach mal und gehe davon aus, dass ich das eine mal als ich das selber erlebt habe irgendeinen anderen fehler gemacht habe.

jedenfalls hat mir das mal ein uni angestellter so gesagt.

lg
 
ganz schön von sich selbst überzeugt, hoffentlich geht das mal nicht schief ^^

na dann glaub ich dir einfach mal und gehe davon aus, dass ich das eine mal als ich das selber erlebt habe irgendeinen anderen fehler gemacht habe.

jedenfalls hat mir das mal ein uni angestellter so gesagt.

lg

leider musst du davon ausgehen - ja.

split funktioniert immer - obs das rausspuckt was man erwartet, ist was anderes ;-)
 
split funktioniert, aber RegEx sind eben nicht ganz so einfach, da kommt es öfters vor das man als Anfänger den einen oder anderen Fehler macht, liegt aber weniger an split sondern an einem selber 😉
 
Im Zweifelsfalls, wenn man sich nicht sicher ist und die Advanced Funktionalitäten von split nicht benötigt werden:
Code:
split(Pattern.quote("SplitTokens")
 
Das einzige, was ich (ganz subjektiv) an "split" unschän finde, ist, dass es (im Vergleich zu einem einfachen durchlaufen mit indexOf und substring) extrem aufwändig sein kann. Wenn es nur um ein Zeichen geht, an dem gesplittet werden soll, und insbesondere wenn das zeitrkritisch sein könnte, kann ein bißchen Handarbeit nicht schaden...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben