Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: TomLudwig am 21.09.06 - 11:40:56

Titel: Anführungszeichen entfernen
Beitrag von: TomLudwig am 21.09.06 - 11:40:56
Hallo zusammen,

ich bin leider nicht fündig geworden und verzweifle langsam...

Ich möchte in einem String per LS die Anführungszeichen (") ersetzten. Am besten gegen zwei einfache Anführungszeichen ( '  ' ). Da der String im HTML Quellcode verwendet werden muss...

Mein letzter Versuch war:
   strFormula = {@ReplaceSubstring("} + v + {"; """; """")}

Danke für eure Hilfe.
Titel: Re: Anführungszeichen entfernen
Beitrag von: Ayhan am 21.09.06 - 11:46:49
Hi,

den Weg würde ich garnicht gehen. Ich empfehle dir das komplett ohne EVALUATE auszuführen, weil...

... die Variable v [ich gehe stark davon aus] Anführungszeichen enthält, die dadurch eine falsche Formel ergeben und diese Formel nicht ausgeführt werden kann:

Angenommen:
v = Heute ist schönes "Wetter"

Die Formel sieht zur Laufzeit so aus:
@ReplaceSubstring("Heute ist schönes "Wetter""; """; """")

Kriegst in diesem Fall ein Formula Error weil die Formel falsch ist und nicht ausgeführt werden kann.

Lösung:
Suche mal in Google nach "Script equivalent replacesubstring". Die Funktion bindest du am besten in deine Funktionsbibliothek (wenn vorhanden; ansonten direkt in deinen agenten). Dann kannst Anführungszeichen ersetzen.
Titel: Re: Anführungszeichen entfernen
Beitrag von: Untitled am 21.09.06 - 11:47:30
Code
Replace(v, """", "'")

Moritz
Titel: Re: Anf�hrungszeichen entfernen
Beitrag von: Glombi am 21.09.06 - 11:48:04
so:

@ReplaceSubstring("Hier ein String";"\"";"'")
Titel: Re: Anführungszeichen entfernen
Beitrag von: botschi am 21.09.06 - 11:50:11
Oder etwas altmodischer mit Ustring und Mid und Instr
Titel: Re: Anführungszeichen entfernen
Beitrag von: umi am 21.09.06 - 12:53:37
oder mit dem guten alten Split Join

meinstring = join(split(meinstring,{"}),{'})
Titel: Re: Anführungszeichen entfernen
Beitrag von: TomLudwig am 21.09.06 - 13:12:17
Vielen Vielen Dank.

Die Variante von umi gefällt mir am besten.

Einfach, Klar und Wirkungsvoll!
Titel: Re: Anführungszeichen entfernen
Beitrag von: Untitled am 21.09.06 - 13:38:44
Was ist denn an einem direkten Replace auszusetzen? Ist meiner Meinung nach einfacher und klarer als zwei verschachtelte Funktionen  :o

Moritz
Titel: Re: Anführungszeichen entfernen
Beitrag von: billygates am 21.09.06 - 14:35:05
Was ist denn an einem direkten Replace auszusetzen? Ist meiner Meinung nach einfacher und klarer als zwei verschachtelte Funktionen  :o

Moritz
Das Problem ist, dass viele Entwickler die Formelsprache nicht oder nicht mehr zu schätzen wissen.
Titel: Re: Anführungszeichen entfernen
Beitrag von: Untitled am 21.09.06 - 14:42:56
Wat?? Es war LS verlangt, nicht Formelsprache.
Titel: Re: Anführungszeichen entfernen
Beitrag von: hreinart am 01.03.07 - 11:16:39
hallo,

habe das problem, dass ich in einer ansicht eine spalte habe, in der ein datum sortiert angezeigt werden soll.

das datum ist aber mal richtig (12.02.2007) und mal falsch geschrieben ("12.02.2007).

die hinweise aus dieser frage habe ich versucht umzusetzen.
leider funktioniert das nicht.

was muss ich machen, um die lästigen anführungstriche zu entfernen?


Titel: Re: Anführungszeichen entfernen
Beitrag von: koehlerbv am 01.03.07 - 11:37:41
Kannst Du das etwas genauer beschreiben (unter Beigabe von Grossbuchstaben, damit es sich leichter liest)?

Wie kommt denn überhaupt ein String in ein Datumsfeld? Dann könnte statt "12.02.2007 dort ja auch "Tante Helga" stehen ... Wurden die Dokumente aller mit einer Maske erstellt?

Bernhard
Titel: Re: Anführungszeichen entfernen
Beitrag von: hreinart am 01.03.07 - 12:16:45
der inhalt in dem datumsfeld kommt von einem txt import.
dort steht tatsächlich (leider) das datum mal ohne und mal in " .

kann man diese entfernen oder diese in der ansicht so darstellen, dass sie die dortierung nicht stören?


vielen dnak
harald
Titel: Re: Anführungszeichen entfernen
Beitrag von: Axel am 01.03.07 - 13:06:15
Du kannst einfach in der entsprechenden Ansichtenspalte in der Spaltenformel @ToTime(Feldname) eintragen.

Allerdings würde ich dir nach dem Import empfehlen mittels Agent die Datumsfelder zu bereinigen, denn ja nach dem können die falschen Datumswerte unvorhersehbare Seiteneffekte haben.


Axel
 
Titel: Re: Anführungszeichen entfernen
Beitrag von: hreinart am 01.03.07 - 14:00:31
hallo axel,

das ist genau, was ich gesucht habe, danke !!!
es funktioniert klasse.

den import mache ich über eine *.col datei.
da kommen auch datensätze rein, die ich nicht benötige.

anschlussfrage:
hast du ein script, was diese entweder per agent nachträglich aus der datenbank löscht oder
direkt beim import erst gar nicht importiert?

die nicht gewünschten datensätze haben ein feld, in dem ein name steht.
ich habe eine liste der namen, die nicht importiert oder nachträglich gelöscht werden sollen.

im web habe ich das schon vergeblich gesucht.


danke
harald
Titel: Re: Anführungszeichen entfernen
Beitrag von: Axel am 01.03.07 - 14:38:27
anschlussfrage:
hast du ein script, was diese entweder per agent nachträglich aus der datenbank löscht oder
direkt beim import erst gar nicht importiert?

Nein. Du wirst hier auch keine fertigen Lösungen finden, sondern nur Anregungen und Hilfe wenn's klemmt.

Als grobe Anregung für einen Agenten der die Dokumente nachträglich rauslöscht könnte ich mir folgendes vorstellen. Du baust dir eine Ansicht, die nach diesem Feld sortiert ist. Im Agent hinterlegst du eine Liste mit den Namen, die gelöscht werden sollen (noch besser ist es das Ganze konfigurierbar zu machen). Diese Liste arbeitest du dann der Reihe nach ab und suchst mit NotesView.GetDocumentByKey dir das Dokument innerhalb der Ansicht. Damit hast du das Dokument im Zugriff und kannst es über NotesDocument.Remove löschen.

Die bessere Alternative ist natürlich Dokumente, die du nicht haben willst auch gar nicht erst zu importieren. Dann musst du den Import allerding komplett selbst programmieren. Ohne genauere Infos kann man nicht abschätzen wie aufwändig so was wird.


Axel
 
Titel: Re: Anführungszeichen entfernen
Beitrag von: hreinart am 02.03.07 - 00:40:42
Danke für die Infos; das übersteigt aber meine Kenntnisse hier.