2009-04-27 2 views
1

Ich versuche, eine Reihe von Zeilen aus einer Datei in Applescript gelesen zu analysieren. DieseAnalysieren einer Reihe von Zeilen in Applescript

ist, wie mein Code aussieht:

my status_dialog(indexData) 
set AppleScript's text item delimiters to return 
set indexFreq to (text items 1 thru 1 of indexData) 

INDEXDATA enthält eine Reihe von Linien. Der Zeilenbegrenzer funktioniert nicht. indexFreq gibt mir wieder die ganze Reihe von Zeilen statt der ersten zurück.

Ich bin ein Neuling hier und die Online-Ressourcen Arent hilft mir dabei.

Vielen Dank! Pradeep

Antwort

1

Ihr Code sollte funktionieren wie erwartet. Das Problem kann sein, dass return nicht das richtige Zeichen für diesen bestimmten Satz von Zeilen ist. Zeilenumbrüche können Wagenrücklauf, Zeilenvorschub oder beides sein, abhängig von dem Programm oder System, das die Datei erstellt hat.

Sie können versuchen, verschiedene Charaktere anstelle von return:

tell me to set the text item delimiters to (ASCII character 10) --// LF 
tell me to set the text item delimiters to (ASCII character 13) --// CR 

Auch, um den Rest des Codes stellen Sie sicher, ist proprly eingerichtet, haben einen einfachen Test:

set test_string to "thisQisQaQtest" 
set the text item delimiters to "Q" 
return text items of test_string 

Dies sollte Folgendes (in Ihrer AppleScript-Konsole) erzeugen:

{ "this", "is", "a", "test" }

+0

Beide geben mir einen Fehler: 'Finder hat einen Fehler: Text Element Trennzeichen kann nicht auf " ".' Ich denke, es wandelt die ASCII-Zeichen in den Code selbst. Um Ihnen ein Update zu geben, habe ich Linefeed anstelle von return verwendet und es sieht so aus, als würde es funktionieren. Ich bin nicht sicher, dass es den Wagenrücklauf hinterlässt, wenn die Datei von beiden \ r \ n begrenzt wird. Vielen Dank! – Pradeep

+0

gibt es eine neue Zeile zwischen den Anführungszeichen. – Pradeep

+0

Entschuldigung, dieser Fehler passiert, ohne dass "Erzähl es mir" (siehe meine Bearbeitung). Freut mich zu hören, dass es funktioniert :) –