tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
394
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    draig draig ist offline Mitglied Silber
    Registriert seit
    Mar 2004
    Beiträge
    64
    Hi.

    Ich habe ein kleines Problem.

    Ich habe einen String, der ungefähr so aussieht "/home/marc/base.pbp" oder so "/base.pbp" (ohne Anführungstriche). Ich möchte nun, dass das hier abgetrennt wird: "base.pbp". Dieser Abschitt heißt aber nicht immer "base.pbp", er kann auch z.B. so heißen: "test.iso". Also somit möchte ich immer alles abschneiden, was nach dem letzen "/" kommt. Mein problem ist jetzt, dass ich nicht weiß, wie ich mit regulären Ausdrücken ausdrücke, dass erst alles ab den letzen "/" abschnitten wird.

    Oder soll ich es mit substring und einer Schleife realisieren?
     

  2. #2
    javaprogger1987 javaprogger1987 ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    284
    Code java:
    1
    2
    3
    4
    
    String path = "/home/marc/base.pbp";
    int cut = path.lastIndexOf( "/" );
    String file = path.substring( cut );
    System.out.println( file );
    Müsste so eigtl. laufen (habs jetzt nicht getestet)

    Gruß
    Tobias
     

  3. #3
    draig draig ist offline Mitglied Silber
    Registriert seit
    Mar 2004
    Beiträge
    64
    So weit ist es das, was ich meine. Ich hatte mich nur ein bischen doof ausgedrückt. Ich möchte hinterher nicht /base.pbp ausgegeben haben, sondern das soll wegfallen und das davor möchte ich also String bekommen.
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    So?
    Code java:
    1
    2
    3
    
            String path = "/home/marc/base.pbp";
            String basePath = path.substring(0,path.lastIndexOf("/"));
            System.out.println(basePath);

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    draig draig ist offline Mitglied Silber
    Registriert seit
    Mar 2004
    Beiträge
    64
    Ich habe es jetzt so gelöst:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
            String scrTextFieldEboot = textFieldEboot.getText();
            
            int cut = scrTextFieldEboot.lastIndexOf( "/" );
            
            String srcEbootLast = scrTextFieldEboot.substring( cut );
            
            String srcEbootDirectory = scrTextFieldEboot.replaceAll(srcEbootLast, "");

    Was ist denn die bessere Lösung und warum?
     

  6. #6
    javaprogger1987 javaprogger1987 ist offline Mitglied Brokat
    Registriert seit
    Nov 2004
    Beiträge
    284
    Ne dann bitte Tom's Lösung *GG*
    Hab mich nur verlesen sorry
     

  7. #7
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Toms Lösung ist besser als dein aus zwei Gründen:
    1. Es ist schneller weil nur einmal ein Substring gemacht werden muss, der dann direkt genutzt werden kann. Du musst den substring noch weiterverarbeiten.
    2. Stell dir vor du hast eine Datei ohne Dateiendung:
    Code java:
    1
    2
    
    String fileName = "base";
    String path = "/home/marc/base/"+fileName;

    Dein
    srcEbootLast wäre dann "/base"
    Ein ReplaceAll führt dann zu folgendem Ergebnis:
    "/home/marc"

    Und das ist absolut nicht das was du willst. ReplaceAll ist bei dir nur ein Workaround.
     

  8. #8
    draig draig ist offline Mitglied Silber
    Registriert seit
    Mar 2004
    Beiträge
    64
    Estmal danke für eure Antworten und erklärungen. Habe ich mir schon gedacht, dass es schneller ist usw. Wollte es nur genau wissen.

    Code :
    1
    2
    3
    
          String fileName = "base";
    .
          String path = "/home/marc/base/"+fileName;
    Wäre jetzt nicht der Fall, das keine Datei ist, da sie durch einen filechooser mit filter ausgewählt wird. Werde dann nun Toms Lösung nehmen und dne Thread als erledigt abhaken.
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 19.09.10, 23:06
  2. Text parsen mit regulären Ausdrücken
    Von notebook20000 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.04.07, 11:41
  3. Spezielle Zeichen in Regulären Ausdrücken ignorieren
    Von Coalminer im Forum .NET Café
    Antworten: 2
    Letzter Beitrag: 21.07.06, 19:59
  4. Problem mit Regulären Ausdrücken
    Von forsterm im Forum .NET Windows Forms
    Antworten: 4
    Letzter Beitrag: 26.02.06, 00:59
  5. Variablen in Regulären Ausdrücken
    Von MRanderath im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 23.08.01, 18:19