|
MartinHam |
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 26.08.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.08.2009, 22:00
Titel: Ein Wort in Excel suchen
|
|
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
|
|
|
|
|
LittleX |
Forum-Guru
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2009, 09:53
Titel:
|
|
Hallo,
zu 1. verwende anstelle von strcmp den Befehl strmatch.
zu 2. Wörter speicherst Du am besten in eine cell
Viele Grüße,
LittleX
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2009, 12:12
Titel:
|
|
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
|
|
Beiträge: 494
|
|
|
|
Anmeldedatum: 14.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2009, 14:43
Titel:
|
|
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).
Das zweite Problem verstehe ich nicht so ganz.
MATLAB zeigt Character Arrays in ' ' an. Warum möchtest Du die Anzeige ändern?
Mit
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
|
|
|
MartinHam |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 11
|
|
|
|
Anmeldedatum: 26.08.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.08.2009, 16:22
Titel:
|
|
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
|
|
|
|
|
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 - 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.
|
|