Seite 1 von 1
Text umformatieren (u.a. Umlaute)
Verfasst: 04.03.2010 12:02
von Mr.Vain
Hallo,
ich möchte kurz nachfragen, ob PB eine Funktion hat, um Umlaute umzuwandeln:
Schröder => schroeder
Von Herz = > vonherz
Karl-Heinz = > karlheinz
Ebenso (wie oben im Beispiel) möchte ich Leerzeichen/Bindestriche entfernen.
Eine Funktion, um alles kleinzuschreiben gibt es ja bereits.
Re: Text umformatieren (u.a. Umlaute)
Verfasst: 04.03.2010 12:07
von Kaeru Gaman
wo hast du da nen Umlaut umgewandet..?
schau dir das Kapitel "String" in der Help mal an.
"Remove" und "Replace" dürftest du brauchen.
Re: Text umformatieren (u.a. Umlaute)
Verfasst: 04.03.2010 12:23
von Mr.Vain
Kaeru Gaman hat geschrieben:wo hast du da nen Umlaut umgewandet..?
schau dir das Kapitel "String" in der Help mal an.
"Remove" und "Replace" dürftest du brauchen.
Sorry, hab's wohl übersehen
Werd mir die Kapitel mal ansehen.
Re: Text umformatieren (u.a. Umlaute)
Verfasst: 04.03.2010 13:54
von dysti
Hier hast du mal Beispiele:
Code: Alles auswählen
a$="Schröder"
b$="Von Herz"
c$="Karl-Heinz"
b$=StringField(b$, 1, " ")+StringField(b$, 2, " ")
c$=StringField(c$, 1, "-")+StringField(c$, 2, "-")
Debug "------ StringField ----"
Debug b$
Debug c$
; Schröder
ReplaceString(a$, "ö", "oe", #PB_String_NoCase, 1)
d$=ReplaceString(b$, " ", "", #PB_String_NoCase, 1)
e$=ReplaceString(c$, "-", "", #PB_String_NoCase, 1)
Debug "------ ReplaceString --"
Debug d$
Debug e$
f$=RemoveString(b$," ",#PB_String_NoCase)
g$=RemoveString(c$,"-",#PB_String_NoCase)
Debug "------ RemoveString --"
Debug f$
Debug g$
oder so:
Code: Alles auswählen
; Schröder
ReplaceString(a$, "ö", "oe")
d$=ReplaceString(b$, " ", "")
e$=ReplaceString(c$, "-", "")
Debug "------ ReplaceString --"
Debug d$
Debug e$
f$=RemoveString(b$," ")
g$=RemoveString(c$,"-")
Debug "------ RemoveString --"
Debug f$
Debug g$
Re: Text umformatieren (u.a. Umlaute)
Verfasst: 04.03.2010 14:49
von sibru
Hier mal ´ne fertige Funktion:
Code: Alles auswählen
;+--------------------------------------------------------------------------+
;| PureBasic-QuellCode "UmlautRepl" mit allen ModulBody´s |
;| erstellt durch Programm "PB_Mod2Body", Vers. 10217a am 04.03.2010, 13:45 |
;+--------------------------------------------------------------------------+
;Modul UmlautRepl Version 1.00 vom 27.02.2006
;#PB_Vers = "4.20"
;
;Funktion: ersetzt alle deutschen Umlaute (Ä, Ö, Ü, ä, ö, ü und ß) durch Doppelzeichen (Ae, Oe, Ue, ae, oe, ue und ss)
;
;Aufruf: Out$ = UmlauteRepl(Text$)
; Text$ : String, in dem unerwünschte deutsche Umlaute (Ä, Ö, Ü...)
; enthalten sein können
;
; Diese Funktion liefert den Eingangs-Parameter zurück, wobei jeder
; deutsche Umlaut durch ein Doppelzeichen ersetzt wurde
; (Ä-->Ae, ä-->ae, ß-->ss...)
;
;#jaPBeExt exit
;========== Begin Modul "C:\AlsterSoft\PB4.20\Module\Wort.PBI" ==========
;#PB_Vers = "4.20"
Global Wort_Ende$
Global Wort_Klammer$
Procedure.s Wort(*Param)
Protected Param$, Wort$
If *Param>1
Param$ = LTrim(PeekS( *Param))
If Wort_Ende$ = ""
If Wort_Klammer$ = ""
Wort_Klammer$ = Chr(34) + Chr(39) + Chr(180) + Chr(255)
EndIf
If FindString(Wort_Klammer$, Left(Param$, 1), 1) And Param$>""
Wort_Ende$ = Left(Param$, 1)
Param$ = Right(Param$, Len(Param$) - 1)
Else
Wort_Ende$ = " "
EndIf
EndIf
While Left(Param$, 1)<>Wort_Ende$ And Param$>""
Wort$ + Left(Param$, 1)
Param$ = Mid(Param$, 2)
Wend
Wort_Ende$ = "" : Wort_Klammer$ = ""
PokeS(*Param, LTrim(Right(Param$, Len(Param$) - 1)))
EndIf
ProcedureReturn Wort$
EndProcedure
;========== Ende Modul "C:\AlsterSoft\PB4.20\Module\Wort.PBI" ==========
Procedure.s UmlautRepl(Text$)
Protected Queue$ = "Ä Ae Ö Oe Ü ue ä ae ö oe ü ue ß ss", Such$
While Queue$>"" : Such$ = Wort(@Queue$)
Text$ = ReplaceString(Text$, Such$, Wort(@Queue$),1)
Wend
ProcedureReturn Text$
EndProcedure
Debug UmlautRepl("Schröder")
viel Erfolg...
SiBru
Re: Text umformatieren (u.a. Umlaute)
Verfasst: 04.03.2010 21:07
von Mr.Vain
Danke für die schnelle und ausführliche Hilfe.
