Italia
Foro

Text lesen und bei leerzeichen Teilen

 
Ciao,
ich habe ein Problem mit einer Routine. Ziel ist es einen Text Wort per Wort ausseindander zu nehmen. Hat jemand eine Idee?
KompilierenMarkierenSeparieren
Declare Zeile$,Text$,a%,SBstring$
text$ = @LoadFile$("Lade ein Textfile","*.txt")
Assign #2,Text$
Reset #2
Assign #3,"Wörterbuch.txt"
rewrite #3

WhileNot  @Eof(#2)

    a%=0
    Input #2,Zeile$
    SBstring$=zeile$

    while #5 @InStr(" ", SBstring$)-a%

        a%=a%+1
        SBstring$=@SUBSTR$(Zeile$,a%," ")
        print #3,SBstring$
        EndWhile #5
        print #3,Zeile$

    Endwhile

 
24.11.2011  
 



Ich würde den Text zuerst komplett in einen String laden und alle Zeichen die keine Buchstaben sind per translate in Freizeichen umwandeln und alle doppelten Freizeichen entfernen und dann explode anwenden um ein Array zu erhalten das alle Worte enthält.
 
24.11.2011  
 




Thomas
Freier
Oder auf die alte Art
KompilierenMarkierenSeparieren
Declare Zeile$,Text$,a%,Liste%,a$
cls
Assign #3,"Wörterbuch.txt"
rewrite #3
Liste%=CreateListBox(%hwnd,"",10,10,500,400)
text$ = @LoadFile$("Lade ein Textfile","*.txt")
Assign #2,Text$
Reset #2

WhileNot @Eof(#2)

    Input #2,Zeile$
    a%=1

    while 1

        a$=SubStr$(Zeile$,a%," ")

        if a$=""

            BREAK

        Else

            a$=Translate$(a$,",","")
            AddString(Liste%,a$)
            Print #3,a$
            inc a%

        EndIf

    wend

EndWhile

Close #2
Close #3

while 0=0

    Waitinput

wend

end

Bei Bedarf Erweitern auf Entfernen aller unerwünschte Zeichen.
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.11.2011  
 




Jörg
Sellmeyer
Nach dem Einlesen mit BlockRead in einen Bereich und dann in einen String läßt sich das mit wenigen Zeilen erledigen:
KompilierenMarkierenSeparieren
Var Text$ = "Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantik, eines großen Sprachozeans. Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht – ein geradezu unorthographisches Leben. Eines Tages aber beschloß eine kleine Zeile Blindtext, ihr Name war Lorem Ipsum, hinaus zu gehen in die weite Grammatik. Der große Oxmox riet ihr davon ab, da es dort wimmele von bösen Kommata, wilden Fragezeichen und hinterhältigen Semikoli, doch das Blindtextchen ließ sich nicht beirren. Es packte seine sieben Versalien, schob sich sein Initial in den Gürtel und machte sich auf den Weg. Als es die ersten Hügel des Kursivgebirges erklommen hatte, warf es einen letzten Blick zurück auf die Skyline seiner Heimatstadt Buchstabhausen, die Headline von Alphabetdorf und die Subline seiner eigenen Straße, der Zeilengasse. Wehmütig lief ihm eine rethorische Frage über die Wange, dann setzte es seinen Weg fort. Unterwegs traf es eine Copy. Die Copy warnte das Blindtextchen, da, wo sie herkäme wäre sie "
Declare Worte$
Text$ = "|" + Trim$(Text$)
Match$("[A-Za-zÄÖÜäöüß]+",Text$)

While %matchpos > 0

    Match$("[A-Za-zÄÖÜäöüß]+",Text$)

    IfNot Instr(Upper$("|" + $Match + "|"),Upper$(Worte$))

        Worte$ = Worte$ + $Match + "|"

    EndIf

    Text$ = Right$(Text$,Len(Text$) - %matchpos - Len($Match))

Wend

Worte$ = Translate$(Worte$,"||","")
ClearList
MoveStrToList(Worte$,"|")
ListBox$(Str$(%GetCount + 1) + " Worte",2)
WaitInput
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
25.11.2011  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.268 Views

Untitledvor 0 min.
Jochen Roxlau14.04.2015
DePANik11.07.2013
mein20.05.2013
Setharial06.02.2013
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie