AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
26.05.12 - 01:23:12
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 8
| |-+  ND8: Entwicklung (Moderatoren: Axel, Thomas Schulte, koehlerbv)
| | |-+  Leerzeichen innerhalb eines String entfernen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Leerzeichen innerhalb eines String entfernen  (Gelesen 417 mal)
Hedwig14
Aktives Mitglied
***
Offline Offline

Beiträge: 177


« am: 03.02.12 - 12:14:52 »

Hallo
in einer Ansicht möchte ich das Textfeld mit dem Inhalt "448 12 48" als "4481248" darstellen.
Mit @Trim komme ich nicht zum gewünschten Ergebnis, da nur links und rechts die Leerzeilen gelöscht werden.
Fulltrim gibt es in Formelsprache leider nicht !
Hat jemand eine andere Idee ?

Viele Grüßs
Gespeichert
ascabg
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 2274


« Antworten #1 am: 03.02.12 - 12:28:41 »

Hallo,

So auf ganz die Schnelle wuerden mir @Implode und @Explode einfallen


Andreas
Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #2 am: 03.02.12 - 12:32:48 »

@ReplaceSubstring
Gespeichert
ascabg
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 2274


« Antworten #3 am: 03.02.12 - 12:49:31 »

An das naheliegendste denkt man immer zuletzt.   Cry


Andreas
Gespeichert
Hedwig14
Aktives Mitglied
***
Offline Offline

Beiträge: 177


« Antworten #4 am: 03.02.12 - 12:51:37 »

ja logisch !
Vielen Dank, war immer auf Trim aus !
Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #5 am: 03.02.12 - 12:56:13 »

Hinweis: Fulltrim in LotusScript hätte da auch nichts genützt, da der Unterschied zu Trim nur darin besteht, dass Fulltrim mit Arrays umgehen kann, Trim aber nur skalare Werte verdauen kann.

Bernhard
Gespeichert
pram
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 687



WWW
« Antworten #6 am: 03.02.12 - 21:52:53 »

und ein weiterer Unterschied: Fulltrim entfernt auch doppelte Leerzeichen innerhalb des Strings. Trim nur am Anfang und Ende

ich würde auch @ReplaceSubstring verwenden um Leerzeichen zu entfernen

Wenn du aber alles entfernen willst, was nicht nach Ziffer aussieht, würde ich vielleicht sowas versuchen:

inp := "Hallo12$34%56";
rmv := @replaceSubstring(tmp;"0":"1":"2":"3":"4":"5":"6":"7":"8":"9";"");
@implode(@explode(inp;rmv);"")


Roland
Gespeichert

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #7 am: 04.02.12 - 00:44:22 »

und ein weiterer Unterschied: Fulltrim entfernt auch doppelte Leerzeichen innerhalb des Strings.

Äh, nicht nur laut Dokumentation macht das @Trim genauso. Vulgo: Deine Aussage ist falsch.

Dein Fromelkonstrukt ist eines dieser irgendwie genialen @Formula-Konstrukte, die schon 1992 funktionierten und in der Kürze bis heute kein Äquivalent in einer anderen Sprache (vor allem mit dieser Performance) gefunden haben.
Und wer so ein Konstrukt durchdenkt und versteht, warum das Ergebnis funktioniert, hat Notes-programmiermässig sehr viel gewonnen  Wink

Bernhard
Gespeichert
TimDom
Aktives Mitglied
***
Offline Offline

Beiträge: 120


« Antworten #8 am: 04.02.12 - 10:01:39 »

Hm, hab jetzt mehrfach über das Konstrukt nachgedacht.
Komme aber nicht dahinter.

Fällt die Variable tmp, welche in der 2. Zeile genutzt wird irgendwie vom Himmel?
Müsse das nicht so aussehen?


inp := "Hallo12$34%56";
tmp := inp;
rmv := @replaceSubstring(tmp;"0":"1":"2":"3":"4":"5":"6":"7":"8":"9";"");
@implode(@explode(inp;rmv);"")
Gespeichert
pram
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 687



WWW
« Antworten #9 am: 04.02.12 - 13:44:52 »

Sorry es war schon spät und in meine Formel hat sich ein Fehler eingeschlichen:
Das Konstrunkt funktioniert wie Folgt:

Eingabe:
  inp := "Hallo12$34%56";

Alle Ziffern durch "" ersetzen, heraus kommt ein String mit allen unerwünschten Zeichen
  rmv := @replaceSubstring(inp;"0":"1":"2":"3":"4":"5":"6":"7":"8":"9";"");

Die Eingabe an diesen Zeichen splitten (@explode verhält sich hier anders als Lotusscript-split, es wird nämlich jedes Zeichen als Trennzeichen akzeptiert, steht so auch in der Hilfe) und wieder zusammenführen
  @implode(@explode(inp;rmv);"")

Heraus kommt ein String, in dem die unerwünschten Zeichen fehlen (also nur noch Ziffern enthalten sind)




@Bernhard:
du beziehst dich doch hier auf Lotusscript oder?
Zitat
...da der Unterschied zu Trim nur darin besteht, dass Fulltrim mit Arrays umgehen kann, Trim aber nur skalare Werte verdauen kann.
in meiner Hilfe steht:

Fulltrim (LS)
The FullTrim trims strings by eliminating any duplicate whitespaces (SPACE, TAB, NEWLINE) from the center of the string and all whitespace at the beginning and end of the strings

Trim (LS)
Removes white space from both ends of a string.

@Trim (Formelsprache)
Removes leading, trailing, and redundant spaces from a text string, or from each element of a text list.

Ich stimme dir zu, dass "@trim" das genauso wie "Fulltrim" macht.
Der Unterschied zwischen "Trim" und "Fulltrim" besteht aber nicht nur darin, das letzteres mit Arrays umgehen kann.


Gespeichert

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #10 am: 04.02.12 - 13:51:01 »

Du hast natürlich bzgl. LS-Trim recht, Roland.

Bernhard
Gespeichert
Tode
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 2810


Geht nicht, gibt's (fast) nicht... *g*


« Antworten #11 am: 06.02.12 - 10:51:46 »

Witzigerweise funktioniert das hier genauso:

rmv := @Explode( inp ; "0123456789" );
@ReplaceSubstring( inp ; rmv ; "" );

Formelsprache ist echt genial...
Gespeichert

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen...

Alles beim alten zu lassen kostet nichts.....
                         .....nichts als die Zukunft !


pers. Infos:
seit 1995 in der Notes/Domino Administration und Programmierung, Senior Consultant (hört sich so schön hochtrabend an) zu allem möglichen rund um Notes/Domino (Blackberry, Traveler, Sametime, Quickr, ein bisschen Lotus Connections...)
Dr.Domino
Aktives Mitglied
***
Offline Offline

Geschlecht: Männlich
Beiträge: 229


LN since 1996 ...


« Antworten #12 am: 06.02.12 - 11:02:50 »

> ... in der Kürze bis heute kein Äquivalent in einer anderen Sprache (vor allem mit dieser Performance) gefunden haben.

Naja, kann man drüber diskutieren :-).

$string =~ s/\s//g;

macht in PERL ebendieses.
Gespeichert

VG,
Markus

14x Domino 8.5.3, 9x Domino 8.5.2 FP2/FP3, 2x Domino 8.5.1 FP5 (& QuickR 8.5.1 FP11), 4x Domino 8.0.2FP6 (& 1x ST 8.0.2.1), 6x Domino 7.0.4 FP2 (English, RHEL 5.6, CentOS 5.6, Win32 & Win64)
1400x Notes 8.5.3 - 7.0.4 (EN, DE, SV, FI, PL, CN, FR, NO, HU, SI, SK, CN, TR)
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #13 am: 06.02.12 - 11:08:18 »

PERL ist aber für Notes / Domino eher nicht so geeignet  Grin

Bernhard
Gespeichert
m3
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 7279


Non ex transverso sed deorsum!


WWW
« Antworten #14 am: 06.02.12 - 11:11:38 »

Unter Windows kommt man mit Perl ueber COM auch wunderbar an Notes Dokumente ran. Nicht, dass ich das schon mal gemacht haette ...  Roll Eyes
Gespeichert

HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

Weeks of programming can save you hours of planning!
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig