Ergebnis 1 bis 6 von 6
  1. #1
    db
    Registriert seit
    07.06.2009
    Beiträge
    585

    Standard [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).

    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?


  2. #2
    Bad Times Virus Avatar von Th3_Cr4xX
    Registriert seit
    28.07.2008
    Beiträge
    646

    Standard

    ............
    Geändert von Th3_Cr4xX (30.05.2010 um 01:47 Uhr) Grund: Automerged Doublepost

  3. #3

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Also wenn ich dich richtig verstanden habe, suchst du sowas in der Art:
    Code:
    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...

  4. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    c2x (21.04.2010)

  5. #4
    db
    Registriert seit
    07.06.2009
    Beiträge
    585

    Standard

    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:
    Code:
    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:
    Code:
    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:
    Zitat Zitat von inout Beitrag anzeigen
    Also wenn ich dich richtig verstanden habe, suchst du sowas in der Art
    :p

    Danke, hab zu kompliziert gedacht
    Geändert von c2x (21.04.2010 um 15:52 Uhr) Grund: Automerged Doublepost


  6. #5

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Zitat Zitat von RepTiL! Beitrag anzeigen
    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:
    Code:
    Dim StrY As String = StrX.Replace("ie", "ielwie").Replace("au", "aulewau") '...

  7. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    c2x (21.04.2010)

  8. #6
    db
    Registriert seit
    07.06.2009
    Beiträge
    585

    Standard

    Allerdings geraten nun "ie" mit "i" und "e" in Konflikt (ebenso bei "au" oder "ei").

    Ich denke, dass ich den Rest selbst programmiert bekomme.


Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •