Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Einzelne Wörter aus einem Text in einer Tabelle suchen und i

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ben9016
•->
•->


Anmeldedatum: 28.10.2016
Beiträge: 1

BeitragVerfasst am: 28.10.2016 - 12:52    Titel: Einzelne Wörter aus einem Text in einer Tabelle suchen und i Antworten mit Zitat

Moin Moin!

Ich bin ein kompletter Newbie in Sachen Automatisierungen in OSX, habe mir allerdings sagen lassen, dass mir da etwas entgeht. Nach Tagen des googlens möchte ich daher auf geübtere Skripter zurückgreifen Wink

Zum eigentlichen Problem: Ich habe einen Text und eine Tabelle mit zwei Spalten. Ich möchte gerne ein Skript schreiben, dass jedes einzelne Wort des Textes dahingehend überprüft, ob es in Spalte 1 der Tabelle auftaucht. Wenn das der Fall ist, soll das Wort im Text mit dem entsprechenden Wort in Spalte 2 ausgetauscht werden. Wenn keine Übereinstimmung gefunden wird, wird mit dem nächsten Wort weitergemacht. Zum Schluss erfolgt eine Ausgabe des Textes mit den Ersetzungen.

Entweder ich Suche mit den falschen Keywords oder ich habe ein Brett vor dem Kopf, aber ich finde im Netz keinen brauchbaren Ansatz, den ich modifizieren kann. Kann mit jemand mit einem heißen Tipp weiterhelfen?

Vielen Dank im Voraus!

Benny
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 01.11.2016 - 00:17    Titel: Antworten mit Zitat

Hallo ben,

vielleicht solltest Du Dir Deinen Text noch einmal durchlesen. So kann Dir gar keiner helfen. Wovon sprichst Du? In was für einem System liegt der Text und oder die Tabelle vor? Ein Satzprogramm? Oder HTML, Quelltext, irgendwas? Excel?

Aber zum ersten Teil: Ja, es geht sehr, sehr, sehr viel mit Automatisierung beim Mac und JA, Dir entgeht so einiges, falls Du alles manuell bzw. nur mit den Standard-Bordmitteln bzw. den Standard-Funktionen machen willst.

AppleScript macht süchtig – Vorsicht ;-)
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 447
Wohnort: Geldern

BeitragVerfasst am: 02.11.2016 - 22:16    Titel: Antworten mit Zitat

Hallo Benny,

schade, daß Du nicht mehr antwortest. Ich habe nochmal über Deine Anfrage gelesen und nachgedacht. Im Prinzip möchtest Du runtergebrochen doch nichts als eine Abfolge von Such-Tausch-Vorgängen abgearbeitet haben, oder?

Bedeutet, wenn ein string in der Tabelle vorhanden ist, aber nicht im Ursprungsext, so macht ein evtl. S&E-Vorgang nichts, denn im Ergebnis ändert das ja nichts.

Daher mal ein einfaches Beispiel — Dies hier ist jetzt unser Beispieltext:

"Heute ist Mittwoch und morgen ist Donnerstag. Doch egal welcher Wochentag, der Alltagsstrudel wird nicht weniger und auch am Ende der Woche werden die Termine nicht abreißen. So ist die unsere, heutige Welt nunmal."

So, und nun noch eine Beispiel-"Tabelle":

S1: Suchen | S2: Ersetzen
------------------------------
01: Mittwoch | Donnerstag
02: Donnerstag | Freitag
03: nicht | wohl nicht
04: Welt | Bürowelt
05: Wochentag | Tag der Woche
06: Heute | Am heutigen Tag
07: Termine | Aufgaben
08: So | Nun so
09: Wurst | Käse
10: weniger | niedriger

Verstehe ich das so richtig?

Die Script-Aufgabe ist relativ einfach: Wir brauchen den berühmten Handler on austauschen(suchen, ersetzen, dertext), der die Kern-Aufgabe übernimmt. Eine Abhandlung dazu, wirklich ein großes Thema, spare ich mir jetzt mal erst; dazu habe ich vor Jahren hier mal was abgelassen ^^

Dann sieht unser Scriptaufbau wie folgt aus:

Code:
set urtext to "Heute ist Mittwoch und morgen ist Donnerstag. Doch egal welcher Wochentag, der Alltagsstrudel wird nicht weniger und auch am Ende der Woche werden die Termine nicht abreißen. So ist die unsere, heutige Welt nunmal."
set neuertext to urtext
set suchtabelle to {{"Mittwoch", "Donnerstag"}, {"Donnerstag", "Freitag"}, {"nicht", "wohl nicht"}, {"Welt", "Bürowelt"}, {"Wochentag", "Tag der Woche"}, {"Heute", "Am heutigen Tag"}, {"Termine", "Aufgaben"}, {"So", "Nun so"}, {"Wurst", "Käse"}, {"weniger", "niedriger"}} # Die "Tabelle" wird am Besten wie folgt in eine Liste mit beliebig vielen Listen als items, den Such-Tauschpaaren, umgesetzt.
repeat with i in suchtabelle # Mit der Variable i wandern wir in der S&E-Liste
   set neuertext to my austauschen(item 1 of i, item 2 of i, neuertext)
end repeat
return neuertext

on austauschen(suchen, ersetzen, theString)
   set my text item delimiters to suchen
   tell me to set theList to every text item of theString
   set my text item delimiters to ersetzen
   return theList as string
end austauschen


Wir setzen den ursprünglichen Text fest und kopieren ihn in eine neue Variable. Dann werden einfach die S&E-Paare durchgegangen.

Heraus kommt dann das korrekte Ergebnis:

"Am heutigen Tag ist Freitag und morgen ist Freitag. Doch egal welcher Tag der Woche, der Alltagsstrudel wird wohl nicht niedriger und auch am Ende der Woche werden die Aufgaben wohl nicht abreißen. Nun so ist die unsere, heutige Bürowelt nunmal."

So. Wenn Du das jetzt vergleichst, entspricht das Ergebnis aber eventuell nicht ganz Deiner Erwartung, denn die Vorgänge sind kaskadierend: Was in einem Schritt getauscht wird, ist dann wieder Futter für den nächsten Vorgang.

Wenn Du also Mittwoch mit Donnerstag ersetzt und dann Donnerstag mit Freitag, gibt es keinen Donnerstag mehr – und so fort.

Und beachte bitte, daß diese Art sich rein auf die Buchstabenfolge stürzt. Ein Wald wird auch in Waldemar und arm wird auch in Marmelade gefunden ...

Behelfen kannst Du Dir erstmal, indem Du die Paare in einer bestimmten Reihenfolge anlegst. Aber nach wie vor weiß ich ja gar nicht den Hintergrund und lasse Dich erstmal spielen und experimentieren.

Schönen Abend ...
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht 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.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter