Autor Thema: String nach Sonderzeichen durchsuchen!  (Gelesen 2392 mal)

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
String nach Sonderzeichen durchsuchen!
« am: 22.05.02 - 18:20:34 »
Hallo,

ich suche in Scipt eine Funktion die eine Zeichenkette nach umlauten durchsucht und durch "ae" "ue" usw. ersetzt.

Hat evtl jemand in seiner Zauberkist was??

Gruß Christopher
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline eknori (retired)

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.742
  • Geschlecht: Männlich
Re: String nach Sonderzeichen durchsuchen!
« Antwort #1 am: 22.05.02 - 18:38:13 »
yoo, hab ich wohl !!

Function LSReplaceSubstring(strIN As String, Byval strWHAT As String, Byval strNEW As String) As String
    Dim i As Integer
   
    LSReplaceSubstring = strIN
    If (Len(strIN) = 0) Then Exit Function
    If (Len(strWHAT) > Len(strIN)) Then Exit Function
   
    i = Instr(strIN, strWHAT)
    If (i = 0) Then Exit Function
   
    LSReplaceSubstring = Mid(strIN, 1, i - 1) & strNEW & LSReplaceSubstring(Right(strIN, Len(strIN) - (i + Len(strWHAT) - 1)), strWHAT, strNEW)
   
End Function


Jetzt musst du nur nich ein bisschen drumherum programmieren; also die Funktion mehrfach aufrufen.

also so in der einfachsten Form

if InStr(1, DeinString, "ä") > 0 then

Deinstring = ReplaceSubString (Deinstring, "ä", "ae")

end if
   
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: String nach Sonderzeichen durchsuchen!
« Antwort #2 am: 22.05.02 - 18:58:30 »
Hallo Eknori,

ich wußte das wieder was in Deiner Zauberkiste hast. Ich werde jetzt mal den Cod testen.

Vielen Dank Christopher
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline eknori (retired)

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.742
  • Geschlecht: Männlich
Re: String nach Sonderzeichen durchsuchen!
« Antwort #3 am: 22.05.02 - 19:08:57 »
Hab mal schnell noch die restliche Logik zusammengebraten ( nicht schön, aber funktioniert)
Berücksichtigt üöäßÜÖÄ

Function KillUmlaute (Eingabe As String ) As String
     If Instr ( 1,Eingabe, "ä" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "ä" , "ae" )
     End If
     If Instr ( 1, Eingabe, "ü" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "ü" , "ue" )
     End If
     If Instr ( 1, Eingabe, "ö" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "ö", "oe" )
     End If
     If Instr ( 1,Eingabe, "Ä" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "Ä" , "Ae" )
     End If
     If Instr ( 1, Eingabe, "Ü" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "Ü" , "Ue" )
     End If
     If Instr ( 1, Eingabe, "Ö" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "Ö", "Oe" )
     End If
     If Instr ( 1, Eingabe, "ß" ) > 0 Then
           Eingabe = LSReplaceSubstring ( Eingabe , "ß" , "ss" )
     End If
     KillUmlaute = Eingabe
End Function
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: String nach Sonderzeichen durchsuchen!
« Antwort #4 am: 22.05.02 - 19:28:32 »
Danke für den Tip ist eine Super Geile Funktion  ;D ;D ;D ;D ;D ;D

Funktioniert sehr Gut
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline eknori (retired)

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.742
  • Geschlecht: Männlich
Re: String nach Sonderzeichen durchsuchen!
« Antwort #5 am: 23.05.02 - 08:56:13 »
So, nach dem Schnellschuss von gestern abend ( und einer guten Flasche Wein ) hier eine etwas professionellere Lösung

Function KillUmlaute ( s As String ) As String
     strformula = { @ReplaceSubString("} + s + {"; "ä":"ö":"ü":"ß":"Ä":"Ö":"Ü"; "ae":"oe":"ue":"ss":"Ae":"Oe":"Ue" ) }
     nStr = Evaluate( strformula )
     KillUmlaute = nstr(0)
End Function

Und zum Testen folgender Aufruf

Sub Click(Source As Button)
     Dim s As String
     s="ä ü ö ß Ä Ü Ö "
     Msgbox KillUmlaute(s)
End Sub

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: String nach Sonderzeichen durchsuchen!
« Antwort #6 am: 23.05.02 - 09:48:08 »
Hallo Eknori,

ich fand die Lösung von gestern shon sehr professionel aber das ist noch besser schneller und kleiner.  ;D ;D

Vielen Dank

Christopher
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re: String nach Sonderzeichen durchsuchen!
« Antwort #7 am: 23.05.02 - 10:18:33 »
Hallo ihr zwei,

das habe ich dazu gefunden:

_domain := "@mydomain.de";
_firstname := @Left(@ReplaceSubString(Firstname;"Ä":"Ö":"Ü":"ä":"ö":"ü":"ß";"Ae":"Oe":"Ue":"ae":"oe":"ue":"ss");3);
_lastname := @Left(@ReplaceSubString(Lastname;"Ä":"Ö":"Ü":"ä":"ö":"ü":"ß";"Ae":"Oe":"Ue":"ae":"oe":"ue":"ss");4);
FIELD InternetAddress := _firstname+_lastname+_domain;


wie man(n) sieht wird diese Formel zum konvertieren
von Namen benutzt.

Vieleicht hifts ja weiter

Felix
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori (retired)

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.742
  • Geschlecht: Männlich
Re: String nach Sonderzeichen durchsuchen!
« Antwort #8 am: 23.05.02 - 10:26:25 »
Klasse, aber Christopher wollte eine Script Lösung  ;D
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Felix

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
  • Es ist noch kein Meister vom Himmel gefallen!
Re: String nach Sonderzeichen durchsuchen!
« Antwort #9 am: 23.05.02 - 10:37:33 »
endschuldigung,   ;D

wer lesen kann ist klar im Vorteil  ;D ;) ;D

Felix

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz