AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[RegEx] Wie kann ich das lösen?

Ein Thema von Telefonkabel · begonnen am 3. Feb 2008 · letzter Beitrag vom 4. Feb 2008
Antwort Antwort
Telefonkabel

Registriert seit: 15. Jan 2007
94 Beiträge
 
#1

[RegEx] Wie kann ich das lösen?

  Alt 3. Feb 2008, 18:26
Hy!
Ich habe ein kleines Problem und komme leider nicht auf die Lösung.
Und zwar möchte ich über RegEx aus einem Text Dateinamen filtern.
Dabei ist das Problem, dass eine Datei so heißen kann:
test.test.test.jpg
Das Problem dabei ist, dass die Namen eben mehrere Punkte enthalten können und ich nicht weiß, was hinter dem Dateianhängsel (hier: jpg) kommt (ich weiß nur, dass es entweder ein Leerzeichen, oder ein Sonderzeichen ist).
Ich habe eben immer bis zu dem Punkt vor dem Anhängsel alle Zeichen zugelassen und dann so lange laufen lassen, bis kein Buchstabe mehr kommt. Aber im oberen Bsp. funktioniert das nicht und er gibt mir nur test.test zurück, anstatt eben test.test.test.jpg (was ja klar ist).
Ich habe aber keine Idee wie ich das lösen kann.
Kann mir bitte jemand helfen?
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: [RegEx] Wie kann ich das lösen?

  Alt 3. Feb 2008, 18:32
Wie wärs mit
Code:
([a-zA-Z.]+)
  Mit Zitat antworten Zitat
Telefonkabel

Registriert seit: 15. Jan 2007
94 Beiträge
 
#3

Re: [RegEx] Wie kann ich das lösen?

  Alt 3. Feb 2008, 18:35
Er soll mir ja aber auch die Dateierweiterung mitgeben.
Und es ist möglich Sonderzeichen mit in den Datennamen unterzubringen, wie z.B. _ ( ) etc.


Aber danke schonmal.

EDIT:
Ich weiß lediglich, dass die Datei auf einen Punkt und dann die Erweiterung, die NUR aus Buchstaben besteht, endet.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: [RegEx] Wie kann ich das lösen?

  Alt 3. Feb 2008, 18:36
Hallo

Bei Regexlib.com gibt's ein paar nette Ausrücke.

Direkt testen kannst du die Funktion für Filenames* hier

*
Code:
\A([A-Za-z0-9'~`!@#$%&^_+=\(\){},\-\[\]\;])+?([ A-Za-z0-9'~`
!@#$%&^_+=\(\){},\-\[\];]|([.]))*?(?(3)(([ A-Za-z0-9'~`!@#$
%&^_+=\(\){},\-\[\]\;]*?)([A-Za-z0-9'~`!@#$%&^_+=\(\){},\-\[
\];])+\z)|(\z))
Thomas
  Mit Zitat antworten Zitat
Telefonkabel

Registriert seit: 15. Jan 2007
94 Beiträge
 
#5

Re: [RegEx] Wie kann ich das lösen?

  Alt 4. Feb 2008, 14:35
Danke, toms!
Leider hat mir die Seite auch nicht wirklich geholfen.
Aber mir ist eine neue Idee gekommen.
Und zwar:
Man könnte doch überprüfen, ob noch ein Punkt nach einer Zeichenkette folgt, sihc auf diese Weise bis zum letzten Punkt vor der Erweiterung durchhangeln und dann nurnoch nach Buchstaben suchen.
Die Frage ist nur, wie macht man das? ^^
Wäre super, wenn mir jemand helfen könnte.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

Re: [RegEx] Wie kann ich das lösen?

  Alt 4. Feb 2008, 15:08
Zitat von Telefonkabel:
Leider hat mir die Seite auch nicht wirklich geholfen.
Inwiefern hat der Code nicht funktioniert?

Im Test wurde der Dateiname "test.test.test.jpg" richtig geparst.
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz