Announcement

Collapse
No announcement yet.

Replace String

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Replace String

    Hallo zusammen,


    mit folgenden VB Code lasse ich eine Textbox auslesen und möchte nun den Wert der hintern dem Mandaten steht durch %%F ersetzten.
    Also aus Mandant:1008 <- kann aber auch ein anderer Wert sein
    soll Mandant:%%f werden

    Code:
       Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Me.TextBox2.Text = Me.TextBox1.Text
            Dim strField As String = TextBox1.Text
            Dim strOldField As String = "-Mandant:1008"
            Dim strNewField As String = "-Mandant:%%f"
            TextBox2.Text = Replace(strField, strOldField, strNewField) 'Returns This is your string
        End Sub
    Danke für die Hilfe

  • #2
    Wenn es immer die letzten 4 Stellen sind, erzeuge eine teilstring von 0 bis Länge des Strings -4 und hänge dein %%F daran.

    Wenn die Ziifern variabel sind, nutze eine RegEx

    .*?(\d{1,})

    Das zu ersetzende Element ist in Gruppe 1
    Christian

    Comment


    • #3
      Da fällt mir als Erstes die RegEx-Klasse ein.

      Es geht auch einfach so: Suche nach dem Doppelpunkt; übernimm den Teiltext vom Anfang bis einschließlich des Doppelpunkts; hänge den Folgetext einfach an. Wenn der Text bis zum Doppelpunkt konstant ist, ist die Länge des Textanfangs sowieso bekannt.

      Jürgen

      Comment


      • #4
        Häh??

        Wen da immer Mandant:Wert kommt und durch Mandant:%%F ersetzt werden soll gibt es doch genau 1 Zielstring. Warum schreibst du denn dann nicht einfach dahin? Es gibt dann keinen Grund irgendwas zu parsen. Vielleicht nochmal die Frage richtig stellen

        Comment


        • #5
          Originally posted by Ralf Jansen View Post
          Häh??... gibt es doch genau 1 Zielstring.
          Manchmal ist man wirklich betriebsblind. Dass das weder Christian noch mir aufgefallen ist... Jürgen

          Comment


          • #6
            Doch es ist aufgefallen..ich habe jedoch unterstellt, dass die Ziffern variabel sind....Ansonsten müsste ja sein gezeigter Code funktionieren
            Christian

            Comment


            • #7
              Wenn nur die Ziffern variabel sind gilt immer noch das am Ende immer Mandant:%%f rauskommen soll. Macht also weiter keinen Sinn. Es macht nur Sinn wenn in der Textbox mehr steht als 'Mandant:Zahl' sondern irgendwas wie 'Mein lieber Mandant:1008 hat Zahnweh' und man möchte da die Zahl hinter Mandant ersetzen. Da müsste man tatsächlich dann mit Regex suchen wo Mandant:Zahl steckt und dann ersetzen. Das hat er aber nicht gefragt und sein Codebeispiel gibt das nur ganz bedingt her.

              PS: Heute ist Freitag da darf ich mal pedantisch sein

              Comment


              • #8
                Originally posted by Ralf Jansen View Post
                Wenn nur die Ziffern variabel sind gilt immer noch das am Ende immer Mandant:%%f rauskommen soll. Macht also weiter keinen Sinn. Es macht nur Sinn wenn in der Textbox mehr steht als 'Mandant:Zahl' sondern irgendwas wie 'Mein lieber Mandant:1008 hat Zahnweh' und man möchte da die Zahl hinter Mandant ersetzen. Da müsste man tatsächlich dann mit Regex suchen wo Mandant:Zahl steckt und dann ersetzen. Das hat er aber nicht gefragt und sein Codebeispiel gibt das nur ganz bedingt her.

                PS: Heute ist Freitag da darf ich mal pedantisch sein
                Aber genau so wird es in Zukunft sein, und ich möchte

                D:\DATEV\PROGRAMM\RWAPPLIC\KRExport.exe -Berater:310446 -Mandant:1008 -WJBeginn:20120101 -DatenkategorieId:37 -Format:"OP"

                in

                D:\DATEV\PROGRAMM\RWAPPLIC\KRExport.exe -Berater:310446 -Mandant:%%f -WJBeginn:%DATE%0101 -DatenkategorieId:37 -Format:"OP"

                später umwandeln können. Sorry, für meine nicht genaue Beschreibung meines Problems

                Comment


                • #9
                  Dann die RegEx ergänzen
                  Christian

                  Comment

                  Working...
                  X