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

Ein Wort in Excel suchen

 

MartinHam
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 26.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2009, 22:00     Titel: Ein Wort in Excel suchen
  Antworten mit Zitat      
Hallo,
ich suche nach Schlüsselworte in einer Excelliste damit ich die Daten und Texte von dieser Liste auslesen kann.

Wenn in einem Celle nur ein Schlüsselwort steht, lässt sich folgendes
finden:


[num, txt]=xlsread('Data_Text.xls') ;
[ze_Schl, sp_Schl] =find(strcmp(txt,'SCHLUSSW')) ;

dann z.B. Text in der gleichen Zeile und die nächste spalte
auslesen:
Text1 = char(txt(ze_Schl,(sp_Schl +1)));

Frage1 :
Wenn der Schlüsselwort innerhalb von einem Satz in einer Celle
geschrieben ist, wie kann man diesen Celle finden.

Frage 2:
Wie kann mann an Wörter ein Array zuweisen.
z.B.
Wort(1)= xxx
Wort(2)= yyy
Da xxx und yyy keine Zahl sonder String sind und nicht Zwischen ‘ ‘
liegen, klapt so nicht.



Danke für die Antwort
Martin
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 09:53     Titel:
  Antworten mit Zitat      
Hallo,

zu 1. verwende anstelle von strcmp den Befehl strmatch.
zu 2. Wörter speicherst Du am besten in eine cell
Code:

Wort{1} = 'text1';
Wort{2} = 'nächster Text'
 


Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 12:12     Titel:
  Antworten mit Zitat      
Erstmal Danke für die Antwort.

Zu1: Ich suche „MYWORD“ irgendwo in der Liste und verwende:
[num, txt]=xlsread('Data_Text.xls') ;
[ze_myWord, sp_myWord] =find(strmatch(txt,'MYWORD'))
Es liefert aber leider keine Antwort:
ze_myWord= []
sp_myWord= []


Zu2:

Ich soll zu jeden Nachnahme eine Zahl zuweisen.
Z.B. die Nachnamen, die in der Zeile 3 bis Zeile 5 und 1.Spalte liegen.

for Zei= 3:5
Nachname {Zei} = char(txt(2+Zei,1))
end


Die Antwort ist so:
Nachname =

'ErsteNachname' ' ZweiteNachname ' ' DritteNachname '

Was ich aber brauche ist das:


Nachname(1)= ErsteNachname
Nachname(2)= ZweiteNachname
Nachname(3)= DritteNachname

( Die Nachnahmen sind ohne ' ' geschrieben worden und sollen auch ohne ' ' geliefert werden)


Grüße Martin
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 14:43     Titel:
  Antworten mit Zitat      
Hallo,

strmatch erwartet als Eingabeparameter zuerst den String nach dem Du suchst und dann das Array (siehe Doku).
Zurück bekommst Du direkt einen Index auf das entsprechende Element (find ist nicht nötig).
Code:

idx = strmatch('MYWORD',txt);
 


Das zweite Problem verstehe ich nicht so ganz.
MATLAB zeigt Character Arrays in ' ' an. Warum möchtest Du die Anzeige ändern?
Mit
Code:

str = '2';
 

wird ein 1x1 grosses char-array angelegt (es wird nur die 2 gespeichert, die ' ' sind nicht im array mit gespeichert, es wird nur so angezeigt).

Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
MartinHam
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 26.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2009, 16:22     Titel:
  Antworten mit Zitat      
Hallo,
Zu 1: So funktioniert fast, aber nicht ganz. Die idx ist eine Zahl z.B 257 (257. Stelle, die Text enthält) und wo sich dieses Celle befindet (Z.B. [Zeile4, Spalte 5] muss Mann noch mal berechnen. (Z.B. mit size, mod,… ).Gibt es auch eine andere Lösung?

Zu 2:

K = 'WordX'--> OK

Aber
i=1;
K(i) = 'WordX'--> Fehlermeldung?
Vielen Dank
Martin
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



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 - 2024 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.