|
Platin |

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.08.2010, 18:21
Titel: strings filtern
|
 |
Hey an Alle,
ich versuche gerade Textfiles nach strings zu filtern.
Die Strings haben einen bestimmten Aufbau.
zB.: SxPy, L-SxPy, N-SxPy, I-SxPy.
also zB: S2P3 oder N-S5P9.
Ich möchte Matlab also sagen können das es mir 1.) nur nach strings mit SxPy sucht. Also nicht nach strings wie SxPyO, SxPyT. 2.) Nach Strings mit L, N oder I "-" SxPy. Also zB. I-SxPy.
Ich dachte das man es mit dem Befehl regexp ggf. hinbekommen könnte danach zu Filtern.
Muss auch nicht mit regexp gemacht werden. Es sah mir blos so aus als ob das die umfangreichste filterfunktion von matlab wäre.
Aber ich habe da zwar gesehen das man damit viel machen kann, aber nichts dergleichen was ich machen will.
kennt ihr dafür einen passenden befehl?
danke euch
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 09.08.2010, 18:44
Titel:
|
 |
Hallo
also es geht schon mit REGEXP:
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.08.2010, 18:58
Titel:
|
 |
hey,
ok super.
danke dir.
mfg
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.08.2010, 14:58
Titel:
|
 |
Hey, ich habe noch ne Rückfrage ich kann das d bei dP nicht deuten und das $ kann ich mittels der hilfe auch nicht deuten.
kannst du mir da nochmal auf die sprünge helfen?
mfg
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 10.08.2010, 15:06
Titel:
|
 |
Hallo
tippe, dann siehst andere Hilfe als in Doku
\d -- steht für Ziffern zw. 0-9
^ -- Vergleich ab Anfang des Strings
$ -- Vergleich ab Ende des Strings
In Prinzip brauchst du nicht ^, ist an dieser Stelle wohl doppelt gemogelt.
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.08.2010, 15:32
Titel:
|
 |
Hey,
danke für die schnelle Antwort.
Was meinst du mit Vergleich AB Ende des Strings?
Weil der Code funzt bei mir nicht.
Liegt das vllt daran das meine strings in Zellen liegen?
Also meine strings die er filtern sollen liegen in über 100 Zellen.
Mein 'str' ist eine 1X100 Matrix und jede Zelle enthält einen String wie L-S3P5 oder so.
Grüße
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 10.08.2010, 16:00
Titel:
|
 |
Das heißt, dass letztes Zeichen mit letztem Zeichen aus Suchmuster verglichen wird, dann Vorletztes mit Vorletztem, und so weiter.
Welchen Class hat deine Matrix? eine Cell? oder Char?
Und was funktioniert nicht? Kommt Fehlermeldung aus?
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.08.2010, 16:13
Titel:
|
 |
Hallo also ich weiß nicht ob ich mit den Begrifflichkeiten richtig umgehe.
Aber ich denke mit char ist ein string gemeint und mit cell eine zahl oder ?
Also meine variable 'str' ist eigentlich eine 1x100 Matrix und jeder Zelle steht text. Das steht so da 'L-S3P9'.
Es kommt keine Fehlermeldung sondern ich möchte eigentlich sagen, das wenn die zelle einen gewünschten Eintrag enthält dann soll er sich diese Spalte merken.
Weil ich später die Variable index brauche um später sagen zu können, das er mir die Spalten index ausliest.
Das habe ich versucht in dem in dem ich den befehl end anstatt match nahm und sagte wenn >=0 dann merken.
Aber index bleibt leer !
mfg
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 10.08.2010, 17:14
Titel:
|
 |
Abgesehen von einem Fehler, sollte es so laufen
noch eine Möglichkeit:
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.08.2010, 20:23
Titel:
|
 |
Hey,
hmm komisch, weil ich hatte es doch so, aber index war leer ? Also abgesehen von dem ' .
Weil im Prinzip hast du ja jetzt nix geändert, oder habe ich was übersehen?
Und das muss so funktionieren für eine 1x120 Matrix ?
Ist doof weil ich morgen nicht auf Arbeit bin und das testen kann.
Aber Donnerstag bin ich wieder da und versuche es nochmal, aber ich denke es wird wieder nicht funktionieren, weil ich ja nichs ändere.
Das fehlende ' habe ich glaube ich beim Einfügen ausversehen gelöscht.
In matlab müsste das richtig stehen.
Grüße
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 12.08.2010, 09:11
Titel:
|
 |
Hallo,
Wenn es nicht funktioniert, dann hänge deine Matrix, als MAT-Datei an, packe diese aber vorher in ZIP-Archiv ein.
Ich probiere dann mit deinen Daten direkt zu lösen. Bin aber wieder am Montag da.
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.08.2010, 12:29
Titel:
|
 |
|
 |
|
Hey, also das funktioniert soweit sehr gut.
Aber ich müsste meinen Filter noch ein wenig erweitern.
Da er nicht nur LNI-SxPy, sondern auch LNI-SxPy-x/y lesen soll.
Und ich möchte dann noch ein paar weitere Wörter in den Filter einbauen, die ein wenig anders aufgbaut sind.
also was ich will ich noch machen:
1. Er soll auch strings wie S2P3-3 lesen oder 2-S2P3
2. Ich möchte den Filter um eine weitere "Strucktur" erweitern.
also zb. soll er zusätzlich auch files wie E1 oder E1* lesen.
Und ich habe mir die Hilfe jetzt ein paar mal zu regexp durchgelesen, aber ich werde nicht wirklich schlau daraus. Hätten wir in dem Fall nicht zum Bsp. das "Keyword" 'matchcase' verwenden sollen. Ich habe das so verstanden das man immer vorher ein Keyword eingeben muss was den Befehl aktiviert.
Weil ja in verschiedenen fällen ?- oder ? verwendet wird, aber ich dachte damit er versteht welches ? gemeint ist muss das keyword vorher eingeben.
un woher wusstest du eigentlich das \d für zahlen 0...9 steht ?
Danke dir vielmals
viele Grüße
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2010, 12:22
Titel:
|
 |
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.08.2010, 18:11
Titel:
|
 |
Hallo
zu 1)
meinst du so?
zu 2) bitte etwas erläutern, habe nicht ganz verstanden,
ob du meinst alle Files auswählen, welche mit E1 anfangen?
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.08.2010, 18:14
Titel:
|
 |
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|