Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB.NET] String.Replace
Folgendermaßen:
Es geht darum, z.B. "i" mit "ilewi" zu ersetzen. Allerdings ist es nicht nur für den Buchstaben "i" gedacht, sondern für mehrere (Link (http://www.kikisweb.de/spielundspass/unsinn/loeffelsprache.htm)).
Allerdings lässt sich mit [...].Replace("i", "ilewi") immer nur ein Buchstabe verändern bzw. ersetzen.
Muss ich den Text erst komplett zerlegen, damit Buchstaben wie "e", "i", "a" oder "u" ersetzt werden können?
Th3_Cr4xX
21.04.2010, 15:25
............
Also wenn ich dich richtig verstanden habe, suchst du sowas in der Art:
dim s as string="hallo"
dim a1() as string={"a","o"}
dim a2() as string={"alewa","olewo"}
for i as integer=0 to a1.count-1
s=s.replace(a1(i),a2(i))
next
kA, ob das so syntaktisch korrekt ist, da VB...
evtl. hat VB aber auch schon so etwas eingebaut, ansonsten müsste das mit Regex.Replace aber auch in einer Zeile zu schaffen sein...
Schon klar. Ich hab 2 Textboxen und einen Button. In die erste Textbox, wird der Text, der in die Löffelsprache übersetzt werden soll, vom Benutzer eingegeben.
In der Button-Klasse folgendes:
Dim StrX As String = txtKlartext.Text
Dim StrY As String = StrX.Replace("ie", "ielewie")
txtÜbersetzt.Text = StrY
Das ist nur ein Beispiel (für "ie"), es gibt aber noch "e" -> "elewe", "a" -> "alewa" usw. Würde ich es wie folgt machen:
Dim StrY As String = StrX.Replace("ie", "ielwie") & StrX.Replace("au", "aulewau") & _
StrX.Replace("e", "elewe") usw.
Dann passiert folgendes:
Aus "Ich gehe jetzt nach Hause" wird:
"Ilewe gehe jetzt nach HauseIch gelewehe jetzt nach HauseIch gehelewe jetzt nach Hause" usw., also hängt sich bei jedem ersetzten String, der ganze Satz wieder an...
(sollte das, was ich geschrieben habe unverständlich sein, dann bitte Bescheid sagen)
Edit:
Also wenn ich dich richtig verstanden habe, suchst du sowas in der Art
:p
Danke, hab zu kompliziert gedacht :rolleyes:
Dann passiert folgendes:
Aus "Ich gehe jetzt nach Hause" wird:
"Ilewe gehe jetzt nach HauseIch gelewehe jetzt nach HauseIch gehelewe jetzt nach Hause" usw., also hängt sich bei jedem ersetzten String, der ganze Satz wieder an...
Das ist klar, da das & (und ich glaube auch das +) in VB der Konkatenationsoperator ist. Wenn dann musst du es so machen:
Dim StrY As String = StrX.Replace("ie", "ielwie").Replace("au", "aulewau") '...
Allerdings geraten nun "ie" mit "i" und "e" in Konflikt (ebenso bei "au" oder "ei").
Ich denke, dass ich den Rest selbst programmiert bekomme. ;)
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.