Gelöst : Datum aus Text filtern

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Gelöst : Datum aus Text filtern

Beitrag von keksi1970 »

Hi, ich mal wieder.

also folgendes

in einer Varialen X ist ein Text, der ein Datum (1 Datum) beinhaltet.

gibt es irgendeine Idee, wie ich nur dieses Datum herausfiltere, egal an welcher Position sich das Datum befindet und egal, welches Format es hat und egal, wie lang der text ist (englisch/deutsch/sonstiges) ?

Mir fällt grade nix ein . . . .


LG
Andreas
Zuletzt geändert von keksi1970 am Mi, 05.08.2009 16:13, insgesamt 1-mal geändert.
Hömmelmann
****
Beiträge: 119
Registriert: Di, 28.11.2006 19:44
Wohnort: Meppen

Re: Datum aus Text filtern

Beitrag von Hömmelmann »

Hallo Keks,


ist dir damit schon geholfen??

sub DatumSuchenInText
dim x as string
dim gefundenesdatum as date
dim y as string
dim z as string

x="Text mit Datum 01.01.2009 und noch was dahinter"
'x="Text mit Datum 2009-01-01 und noch was dahinter"
y=x
do until instr(y," ")=0
z=left(y,instr(y," ")-1)
y=right(y,len(y)-instr(y," "))
if isnumeric(left(z,1)) then
gefundenesdatum=z
msgbox gefundenesdatum
exit sub
end if
loop
end sub


Gruß, Friedhelm
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Datum aus Text filtern

Beitrag von keksi1970 »

nun ja,

hier wäre meine Lösung :

Code: Alles auswählen

Sub Main
odoc = THisComponent
oSheet = oDoc.sheets(0)
dim Z_Check as date
testtext = oSHeet.getcellrangebyname("A2").string
z = len(testtext)
If Z > 7 then
	for i=1 to (z-7)
		If IsDate(mid(testtext,i,10)) then
			Z_Check = mid(testtext,i,10)
			exit For
		ElseIF IsDate(mid(testtext,i,8)) then
			Z_Check = mid(testtext,i,8)
			exit For		
		End If
		
	next i
	print Z_Check
Else
	msgBox " Kein Datum "
End If
 
End Sub
wobei es nun egal ist, ob die Jahreszahl 2- oder 4-stellig ist und was sonst noch in der Zelle Steht(
BSP: Zellinhalt = "Das 2.Datum kann man ignorieren, nur der 07.12.09ist wichtig". es wird das erste Datum ausgelensen )

;)
auch egal, ob vor dem Datum ein Leerzeichen steht :)
auch beliebig erweiterbar auf : "texttest:::::07.Dezember 09"
oder auch : "Bla 07 Dez 09blabla"

LG
Andreas


edit : Trotzdem Danke für die Mühe :)
Antworten