![]() |
Array
Hallo
ich habe ein Text. dieser soll in ein array gespeichert werden. jedes wort soll dazu ein eintrag(eindeutige zahl) bekommen. meine frage also wie erstelle ich sowas? |
AW: Array
TStrings (und da Delimiter, StrictDelimiter und DelimitedText benutzen), dann hat jedes Wort einen Eintrag mit einem Index.
|
AW: Array
Gibt es einen eindeutigen Trenner?
|
AW: Array
Delphi-Quellcode:
So ungefähr sieht das aus.
type
twa : Array of string; var mydynamicwordarray: twa; ... setlength(mydynamicwordarray,anzahlworte); for i:=0 to anzahlworte-1 do mydynaqmicwordarray[i]:=wort; ... Aber warum ein Array und keine Liste? Gruß K-H |
AW: Array
Array ist die Vorgabe vom lehrer
|
AW: Array
Wo befindet sich der Text überhaupt? In einer Datei?
Markus' Frage ist berechtigt. Man muß nämlich den Text erst "zerpflücken". Dazu bedarf es Trennzeichen. Das werden wohl höchstwahrscheinlich Leerzeichen sein. Der Text ist zunächst einmal anhand der Leerzeichen in einzelne Wörter zu separieren, zu zerlegen. |
AW: Array
Mein Text befindet sich in einem Memo. Diesen text zerlege ich in Wörter(procedure schon fetig)
jetzt wollte ich die wörter mit ihrer position in in array speichern, dass sih das wort merkt mit der position. |
AW: Array
Wenn der Trenner bekannt ist, ist die Lösung eine Kombination aus Antwort 1 und Antwort 3.
|
AW: Array
Zitat:
Was ist mit "Position" gemeint? "diese Frage ist überflüssig" Hier hast Du 4 Worte mit den Array-"Positionen" 0,1,2,3. Benötigst Du die Position im Satz, so hast Du 1,7,13,18. was willst Du? Gruß K-H |
AW: Array
Ich habe ein Memo. Da drin ist ein text
Text ---> Der text hier ist zum beispiel da und mehr nicht Dieser text soll in ein Array gespeichert werden. [Wort aus dem Text, Position des Wortes] der , Position text , Position hier , Position ... usw. |
AW: Array
.. was meinst Du mit Position
a) die Position die das Wort innerhalb des Satzes einnimmt zB. der 1, Text 2.. b) die Position des Wortanfangs im Memo zB. der 1, Text 5, .. Grüße Klaus |
AW: Array
Entweder entspricht die Position im Array auch der im Text, dann braucht man nur ein String-Array, oder du willst wirklich Text und Position explizit speichern. Dann wäre es vielleicht Sinnvoll ein Record zu definieren, mit den Feldern Text und Position, und dann ein Array von diesem Record zu machen. Ist halt die Frage was für dich mehr Sinn macht.
|
AW: Array
Dann solltest du Dir Gedanken über ein Record machen also etwa so:
Delphi-Quellcode:
Der Rest in etwa so wie oben beschrieben.
type
tmyrecord = record wort : string; Position : integer; end;{tmyrecord--------------------------} var Mywordarray : Array of tMyrecord; ......... (wobei ich mir nicht sicher bin ob der Speicherbedarf da nicht Amok läuft, ich arbeite zu selten mit Arrays) Gruß K-H Edith: Zitat:
|
AW: Array
Zitat:
Erstes Wort an Array-Stelle 1 Zweites Wort an Array-Stelle 2 usw. Meinte mit Position also 1 Wort, 2 Wort usw. Ist mir jetzt erst im Nachhinein beim Lesen von Klaus01s Beitrag aufgefallen, dass man Position ja auch in dem Sinne interpretieren kann, dass Wort 2 an Stelle 7 des Strings beginnt, somit wäre Position 7. Was ich auch noch überlegt habe ist, das man beim Zerlegen des Strings (der ja aus einem Memo kommt) auch wissen müsste, ob nur Leerzeichen die Worte trennen oder auch CR/LFs zu berücksichtigen sind. Aber da müsste der TE sich nicht erstmal wieder zu äußern. |
AW: Array
Dann ist doch ganz einfach und gibts schon fast fertig
Code:
Gibt ein Array zurück in dem die Wörter in einem Array von 0..n angeordet werden.
function GetWords(const AText :string):TArray<string>;
begin Result := AText.Split([' ',LineFeed,Tabulator]); end; Natürlich könntest du Split auch direkt auf deinen String anwenden... |
AW: Array
Dabei lernt man aber nix, denn:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz