Verfasst am: 15.09.2009, 20:01
Titel: String in Cell Array finden und gesamte Zeile zurückgeben
Hallo,
ich habe nun folgendes Problem:
die Datenbank gibt mir eine sehr großen Cell-Array (2193 x 2) zurück. Ich will nun in der erste Reihe des Arrays nach einem String suchen und wenn dieser gefunden ist (beispielsweise in Zeile 365) soll mir die Funktion die entsprechende Zeile aus der 2. Reihe des Cell-Array´s (365 , 2) zurückgeben.
Code:
function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
%Alle Strings der ausgewählten Elemente der Listbox 3 auslesen
chosenFirms = get(handles.listbox3, 'String');
%Verbindung zur Datenbank herstellen
connection = database('SQL Server','','');
%Holt alle Daten
db_results = fetch(connection, 'SELECT ALL F1,F6 FROM "Firmen$"');
%Indexvariable zum Auslesen aller ausgewählten Firmen
k = length(chosenFirms);
Folgendes hatte ich mir dabei gedacht:
die strfind() gibt mir ja in der entsprechenden Zeile zurück ab wann der entsprechende String gefunden wurde, und deswegen der vergleich isinteger und wenn das TRUE ist soll die entsprechende Zeile der 2. Reihe von db_results(m , 2) zurückgegeben werden.
genauso hatte ich es in der Zwischenzeit rausgefunden, jedoch offenbart sich nun ein anderes Problem...
in der datensammlung die mit strcmp() durchsucht wird, stehen auch ä´s, ö´s, ü´s, der franz. Akzent (weiss jetzt nicht wie man diesen schreibt... ) da, und der searchstring muss vorher mit der fkt. char() umgewandelt werden und ich glaube, das da die Umlaute nicht umgewandelt werden. Gibts da doch irgendwie eine andere Möglichkeit? Wenn der Searchstring keinen Umlaut und Akzent´s enthält funktioniert strcmp() sehr gut.
mfg
oppemaniac
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
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.