Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: magic_halli am 15.01.09 - 09:15:24

Titel: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: magic_halli am 15.01.09 - 09:15:24
Guten Morgen,

ich habe einen String, bspw.: +49-37908/701113
Hieraus möchte ich jetzt noch alle Zeichen, außer Zahlen, entfernen. Es könnten wirklich, neben Zahlen, noch sämtliche Buchstaben/Sonderzeichen etc. vorkommen.

Wie kann ich mit LotusScript da herangehen?

Danke und Gruß

Rico.
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: dirk_2909 am 15.01.09 - 09:18:06
mit einer Schleife über jedes Zeichen der Zeichenkette und abfragen, ob das aktuelle Zeichen eine Zahl ist. Wenn ja, diese Zeichen an einer Variablen anhängen.
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: magic_halli am 15.01.09 - 09:24:10
mit einer Schleife über jedes Zeichen der Zeichenkette und abfragen, ob das aktuelle Zeichen eine Zahl ist. Wenn ja, diese Zeichen an einer Variablen anhängen.
Ok, klingt sehr gut.

Wie frage ich aber in LS ab, ob ein Zeichen eine Zahl ist?

Rico.
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: s_Old am 15.01.09 - 09:24:42
Auf die Schnelle & nicht getestet:

Code
	Dim szPhone As String
	Dim szPhoneClear As String
	Dim i As Integer
	Dim iChar As Integer
	Dim szChar As String
	
	szPhone = +49-37908/701113
	Err = 0
	On Error Resume Next
	
	For i = 1 To Len(szPhone)
		szChar = Mid(szPhone, i, 1)
		iChar = Cint(szChar)
		If ( Err = 0 ) Then
			szPhoneClear = szPhoneClear & Cstr(iChar)
		Else
			Err = 0
		End If
	Next i
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: magic_halli am 15.01.09 - 09:28:45
Alles klar... Cint ist das Zauberwort.  ;)

Ich versuch mich mal. Danke.

Rico.
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: dirk_2909 am 15.01.09 - 09:35:23
isNumeric würde auch gehen.
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: s_Old am 15.01.09 - 09:41:45
isNumeric würde auch gehen.
Jo, es gibt sicherlich noch 10 andere Wege das zu erledigen, das war mein erster Ansatz.
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: dirk_2909 am 15.01.09 - 09:47:02
Ich wollte ja auch nur eine weitere Möglichkeit aufzeigen.
Ich persönlich halte nicht viel davon einen Fehler zu erzwingen.
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: magic_halli am 15.01.09 - 10:06:15
So, ich habs gelöst - mittels isNumeric, da hier kein Fehler erzeugt/ausgewertet wird. (@dirk_2909 Danke.  ;) )
Code
Dim faxnrClear As String
Dim sChar As String
Dim i As Integer
For i=1 To Len(faxnr)
   sChar = Mid(faxnr,i,1)
   If Isnumeric(sChar) Then
      faxnrClear = faxnrClear + sChar
   End If
Next

Dank an euch. Gruß

Rico.
Titel: Re: LotusScript: Zeichen, außer Zahlen, entfernen
Beitrag von: koehlerbv am 15.01.09 - 10:07:18
Möglichkeiten gibt es wirklich noch etliche mehr:
>= "0" And <= "9"
Instr ("0123456789")
Besonders performant Evaluate (@Matches ...)

Bernhard