Nur etwas kleines :-) splitten

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von bkames, 08.07.2010.

  1. bkames

    bkames Grünschnabel

    Dabei seit:
    08.07.2010
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo,

    ist sicherlich einfach aber:

    $name="Harald Heinz Fritz Müller"

    Jetzt würde ich gerne nach Nachname und Vorname splitten. Wobei der Vorname 1 oder X sein kann.

    Raus soll

    Vorname: Harald Heinz Fritz
    Nachname: Müller

    also nur in 2 Variablen

    Sorry .. aber im Moment :headup:
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 08.07.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    Sprache?

    Bash:
    Code:
    $ name="Fritz Frank Mueller"
    $ echo ${name% *}
    Fritz Frank
    $ echo ${name##* }
    Mueller
    
    Python:
    Code:
    
    >>> name="Fritz Frank Mueller"
    >>> list = name.split(" ")
    >>> list
    ['Fritz', 'Frank', 'Mueller']
    >>> list[-1]
    'Mueller'
    >>> list[:-1]
    ['Fritz', 'Frank']
    
    
    Aber wahrscheinlich meinst du Perl, das weiss ich so auswendig auch nicht. ;)

    mfg,
    bytepool
     
  4. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Falls Du tatsaechlich Perl meinst, kannst Du doch 'split' benutzen, dass Dir ein Feld mit (in Deinem Beispiel) vier Eintraegen liefert, von denen Du dann die ersten (4-1) in der einen und den letzten in der anderen Variable speichern kannst.
     
  5. #4 bytepool, 08.07.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Jo, dachte auch dass Perl split kennt, und siehe da, es funktioniert fast genauso.

    mfg,
    bytepool
     
  6. bkames

    bkames Grünschnabel

    Dabei seit:
    08.07.2010
    Beiträge:
    4
    Zustimmungen:
    0
    Upps

    Ist ja ein gemischtes Forum.
    Ja ich wollte es in Perl schreiben.

    Mit split und reverse split konnte ich kein Ergebnis erzielen.
    Selbst wenn ich mit Limits arbeite.

    Wenn der vor und Nachname immer 1-4 groß wäre, könnte ich ja .... Aber wie gesagt das ist unbestimmt.
    Was fix ist, ist erst der Vorname und dann der Nachname,
    Also trennen nach dem ersten Leerzeichen von hinten. Doppelte Nachname oder von's ignoriere ich mal

    Merci
     
  7. #6 bytepool, 08.07.2010
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Aha, jetzt sind wir schlauer. Da geb ich dir doch mal http://catb.org/esr/faqs/smart-questions.html mit auf den Weg. ;)

    mfg,
    bytepool
     
  8. bkames

    bkames Grünschnabel

    Dabei seit:
    08.07.2010
    Beiträge:
    4
    Zustimmungen:
    0
    Danke .. :-)

    Nochmal eine Nacht drüber geschlaffen. Ich mach es nun so
    Code:
    #!/usr/bin/perl
    
    $name="dada Fritz Hans Peter Wurst";
    @neu = split (/ /,$name);
    @neu2=splice(@neu,-1);
    
    $Vorname= join(" ",@neu);
    $Nachname=join(" ",@neu2);
    
    print "$Vorname und $Nachname\n";
    
    
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. #8 floyd62, 09.07.2010
    floyd62

    floyd62 Routinier

    Dabei seit:
    01.05.2007
    Beiträge:
    309
    Zustimmungen:
    0
    nur noch als Ergänzung: das geht in Perl mit einer kleinen regex auch ganz ohne split/join/...:
    Code:
    $name =~ /^(.*)\s+(.*)$/ and ($vorname, $nachname) = ($1, $2);
    print "Vorname: $vorname\nName: $nachname\n";
    
    Gruss
     
  11. bkames

    bkames Grünschnabel

    Dabei seit:
    08.07.2010
    Beiträge:
    4
    Zustimmungen:
    0
    Ja. Genau das hab ich gesucht. Ist doch ein wenig schlanker als die split und join Sache.
     
Thema:

Nur etwas kleines :-) splitten

Die Seite wird geladen...

Nur etwas kleines :-) splitten - Ähnliche Themen

  1. soetwas wie tilde selbst definieren

    soetwas wie tilde selbst definieren: Hallo allerseits, Ich steige beim ersten Post mal direkt mit nem neuen thread ein ... Folgendes Problem. In einem Rechencluster mit PBS...
  2. Etwas wie kalarm fuer Gnome

    Etwas wie kalarm fuer Gnome: Abend. ich suche ein Programm wie kalarm fuer Gnome.
  3. Bringt es etwas, den RAM aufzurüsten? thinkpad X20

    Bringt es etwas, den RAM aufzurüsten? thinkpad X20: Hallo Community, hab mal eine Frage. Es geht um mein thinkpad X20.. 600MHz, 20GB HDD und geschlagene 192MB Ram. Xubuntu läuft im Moment.. nur...
  4. etwas anderes "alias"

    etwas anderes "alias": Hallo, zu Projektzwecken hab ich hier eine Binary, die sich auf entfernten Rechner anmeldet via ssh und dort shellcommands absetzt. Der ssh...
  5. mit egrep zeilen suchen die etwas NICHT enthalten

    mit egrep zeilen suchen die etwas NICHT enthalten: Hi folgendes problem, wiedermal... ;) ich möchte mit egrep nach einer zeile suchen die etwas bestimmtes nicht enthält, dafür wäre der syntax...