|
Autor |
cell mit [](0x0) |
|
Markus_Sw
Aktiv  Dabei seit: 21.03.2015 Mitteilungen: 80
 | Themenstart: 2019-08-01
|
Hallo,
ich komme bei einer Sache nicht weiter.
Ich lese 30 txt.-Files (a 10 Zeilen) ein, die aus Zahlen und Wörtern bestehen. Jetzt möchte ich jedes dieser Files prüfen, ob es ein bestimmtes Wort enthält. D.H. mein Ziel ist es bei j=1:30 die j's herauszufinden die das gesuchte Wort enthält.
Scheinbar trivial, mit textread zum einlesen und strfind habe ich nun ein Cell der folgenden Form:
Ergebnis:
[1,1] =
{
[1,1] = [](0x0)
[2,1] = [](0x0)
[3,1] = [](0x0)
[4,1] = 6
[5,1] = [](0x0)
[6,1] = [](0x0)
[7,1] = [](0x0)
[8,1] = [](0x0)
[9,1] = [](0x0)
[10,1] = [](0x0)
}
[1,2] =
{
[1,1] = [](0x0)
[2,1] = [](0x0)
[3,1] = [](0x0)
[4,1] = [](0x0)
[5,1] = [](0x0)
[6,1] = [](0x0)
[7,1] = [](0x0)
[8,1] = [](0x0)
[9,1] = [](0x0)
[10,1] = [](0x0)
}
[1,3] =
{
[1,1] = [](0x0)
[2,1] = [](0x0)
[3,1] = [](0x0)
[4,1] = 6
[5,1] = [](0x0)
[6,1] = [](0x0)
[7,1] = [](0x0)
[8,1] = [](0x0)
[9,1] = [](0x0)
[10,1] = [](0x0)
}
....
Dort wo die "6" steht, also in den Files 1 und 3 stand das Wort. Ich schaffe es jetzt nicht, mit if oder eine sonstige Abfrage die 6 herauszufiltern um so auf die Files (j=)1 und 3 schließen zu können. Bspw funktioniert auch kein strcmp (Ergebnis, 6), selbst wenn ich als test (das File und die Zeile genau adressiere) strcmp(Ergebnis{1}(4,1),6) ergibt das eine null. Weiß jemand was ich falsch mache bzw. eine Lösung?
|
Profil
| Folgende Antworten hat der Fragensteller vermutlich noch nicht gesehen. |
elmio
Senior  Dabei seit: 31.01.2007 Mitteilungen: 559
Wohnort: verschiede Orte, D
 | Beitrag No.1, eingetragen 2019-08-24
|
Hallo Markus,
Wenn du einen cell-array A hast, kannst Du eine Schleife über alle Elemente machen, und testen wann ein Eintrag nicht leer ist:
\sourceon matlab
for ii = 1 : numel(A)
if ~isempty(A{ii})
% ... tu was nuetzliches
end
end
\sourceoff
Falls Du einen cell-array von cell-arrays hast (wie das bei deiner Darstellung aussieht), dann brauchst Du entpsrechend zwei schleifen:
\sourceon matlab
for ii = 1 : numel(A)
for jj = 1 : numel(A{ii})
if ~isempty(A{ii}{jj})
% ... tu was nuetzliches
end
end
end
\sourceoff
Vielleicht hilft das?
Gruss,
elmio
|
Profil
|
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|