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. :allright: