WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

strings filtern

 

Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.08.2010, 11:51     Titel:
  Antworten mit Zitat      
Hey,

danke dir, Ja habe es gefunden.
Es gibt jedoch noch ein paar kleine Probleme.
Zum Bsp habe ich auch Sachen wie SP3 oder S12P1, also bei denen ich mit dem Begriff /d nicht weiter komme.
Hast du ne Idee? Ich habe schon geguckt ob es nicht ggf auch ein Befehl, ähnlich /d gibt, welcher Zahlen 1-100 enthält, aber Fehlanzeige. Aber vllt kann man sich das ja auch /d zusammenbauen oder? Also in der Art /dd oder so ? Habe dazu nichts gefunden.
Die Sache ist eigentlich die. Ich weiß immer was ich will und wie es vllt gemacht werden könnte aber ich weiß nicht nach welchem Suchbegriff ich gucken muss.

viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 17.08.2010, 12:10     Titel:
  Antworten mit Zitat      
Hallo
für mehrere Ziffern einfach Plus-Operator dazugeben
so z.B \d+
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 17.08.2010, 12:15     Titel:
  Antworten mit Zitat      
Hi,

ich glaub für sein Problem muss er die \b* benutzen damit
auch SP1 erkannt wird.

expr* : Match the preceding element 0 or more times. Equivalent to {0,}.

expr+ :Match the preceding element 1 or more times. Equivalent to {1,}.

gruss
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.08.2010, 13:16     Titel:
  Antworten mit Zitat      
Ok,

das E, steht nicht nicht allein als E1 da. ich würde gerne das E fast genauso wie die SxPy filtern, nur das noch das 'X' dran "kleben" kann. Wie kann man denn ein zweiten Suchbegriff einfügen?. mit | oder?
Also ich habe es mal so versucht:
Code:

regexp((C),'((([NLI]|\d*)-)?S\dP\d(-\d*)?$|(([NLI]|\d*)-)?E\dZ\d(-\d*|X)?$','end')>=0
 

Funzt jedoch nicht. Findet jetzt so gut wie keine einträge mehr.
Warum das denn ?
Ich habe ihm doch gesagt finde (NLI oder 0-20)-SxPy-(0-20) ODER (NLI oder 0-20)-ExZy-(0-20).
Oder sehe ich da was falsch? Muss ich ja anscheinend.


Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.08.2010, 17:07     Titel:
  Antworten mit Zitat      
Weiß jemand was ich da falsch gemacht habe?

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 19.08.2010, 09:44     Titel:
  Antworten mit Zitat      
hallo,

nach einer totalen verwirrung habe ich was geändert, jetzt sollte es lesen was es lesen soll.
ich versteh aber nicht was du mit den >= erreichen willst.
Code:

C={'S2P3';'N-S5P9';'S2P1O';'L-S2P0';'2-S2P3';'S2P3-3';'SP3';'S12P5';'E1-S2P3';'N-E5Z1';'E1Z2';'3-E4Z4-X';'3-E4Z4-5'}
index = regexp(C,'^(([NLI]|\d+)-)?S\d*P\d(-\d)*$|^(([NLI]|\d+)-)?E\d*Z\d(-(\d|X))*$','end');
index= find(~cellfun('isempty',index))
 


gruss
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.08.2010, 09:54     Titel:
  Antworten mit Zitat      
Hey Fourier,

danke dir.
Das werde ich morgen gleich mal testen und dir schreiben ob alles so ging.
Naja, wenn regexp einen solchen Eintrag findet dann wird er ja durch 'end' Jenem eine Zahl zuordnen. Egal we groß dieses Zahl ist, sie st auf jeden Fall>=0. Somit"merkt" er sich diesen Eintrag. Weißt du was ich meine? Ich möchte ja nicht das er mir diese strings filtert und irgenwo hinschreibt oder sowas, sondern das matlab sich lediglich den Eintrag i, welcher in meinem Fall der Spalte i entspricht, merkt, so das im endeffekt Jene Spalten ausgelesen werden.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.08.2010, 12:41     Titel:
  Antworten mit Zitat      
Hey,

hat leider nicht geklappt.
Er ließt zb. Z2-X nicht und Sachen wie I-Z1S2P2 auch nicht. Ich denke der Filter ist zu schwer zu schreiben. Ich werde einfach die Sachen nach denen er suchen soll direkt eingeben. ISt dann zwar nicht flexibel und alles ein wenig lang, aber ich komme hier sonst nicht weiter.
Ich danke dir aber trotzdem für deine Hilfe.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Fourier
Forum-Guru

Forum-Guru


Beiträge: 329
Anmeldedatum: 05.04.10
Wohnort: Karlsruhe
Version: 2009b
     Beitrag Verfasst am: 20.08.2010, 12:48     Titel:
  Antworten mit Zitat      
Hi,
Zitat:

Ich habe ihm doch gesagt finde (NLI oder 0-20)-SxPy-(0-20) ODER (NLI oder 0-20)-ExZy-(0-20)


Zitat:

Er ließt zb. Z2-X nicht und Sachen wie I-Z1S2P2 auch nicht


es ist doch klar dass er das nicht liest, das stand doch nicht in deiner wunschliste.

gruss
_________________

Ein schlechter General ist besser als zwei gute.
Private Nachricht senden Benutzer-Profile anzeigen
 
Platin
Themenstarter

Forum-Century

Forum-Century


Beiträge: 174
Anmeldedatum: 07.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.08.2010, 12:51     Titel:
  Antworten mit Zitat      
Habs hinbekommen. Musste noch ein bisschen dran rumspielen und dann gings.

Danke dir vielmals.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.