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.
Text umformatieren (u.a. Umlaute)
Text umformatieren (u.a. Umlaute)
Zuletzt geändert von Mr.Vain am 04.03.2010 12:23, insgesamt 1-mal geändert.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: Text umformatieren (u.a. Umlaute)
wo hast du da nen Umlaut umgewandet..?
schau dir das Kapitel "String" in der Help mal an.
"Remove" und "Replace" dürftest du brauchen.

schau dir das Kapitel "String" in der Help mal an.
"Remove" und "Replace" dürftest du brauchen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Re: Text umformatieren (u.a. Umlaute)
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)
Hier hast du mal Beispiele:
oder so:
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$
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$
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9
Re: Text umformatieren (u.a. Umlaute)
Hier mal ´ne fertige Funktion:
viel Erfolg...
SiBru
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")
SiBru


Re: Text umformatieren (u.a. Umlaute)
Danke für die schnelle und ausführliche Hilfe. 
