[VB] Zeichen im String an stelle X löschen

03/23/2014 19:48 JogiGFX#1
Hey Leute,

ich habe folgendes Problem, ich schreibe demnächst meine Abschluss-Klausur in Anwendungs-Entwicklung und brauche dringend eure Hilfe bei den String Funktionen.

Problemstellung:
Lösche X Zeichen an Stelle X.

Das es Funktionen wie remove oder replace gibt weiß ich, aber ich kann nicht anwenden, dass zum Beispiel aus dem String: "123451234512345" -> "123412341234" wird.
Ich möchte aber nicht alle 5 mit "" ersetzten, sondern in einer For-Next-Schleife jeden 5. Buchstaben/Zahl weglassen.

Vielen Dank,

Jogi
03/23/2014 20:53 YatoDev#2
Solange replace und + 5 rechnen bis ein error kommt und dann die schleife verlassen
03/23/2014 21:09 tolio#3
.remove arbeitet mit dem index und der länge, das ist genau das was du suchst
03/24/2014 14:38 PC Jones#4
Code:
        Dim deinString As String = "111121111211112111121111211"
        Dim newString As String = ""
        Dim charCounter As Integer = 0

        For i As Integer = 0 To deinString.Length - 1
            charCounter += 1
            If charCounter < 5 Then
                newString &= deinString.Chars(i).ToString
            Else
                charCounter = 0
            End If
        Next

        MessageBox.Show(newString)
Lg :)
03/24/2014 15:48 'Heaven.#5
Code:
var s = string.Join<char>("", str.Where((ch, index) => (index % 5) != 0));

([Only registered and activated users can see links. Click Here To Register...])
03/24/2014 19:05 adistoe#6
Vllt. hilft dir die [Only registered and activated users can see links. Click Here To Register...] in Kombination mit den Antworten der Vorposter (mit einer Schleife) ;)

Code:
Mid(String, Startposition, Länge)
03/24/2014 19:36 'Heaven.#7
Mid ist VB6 und sollte nicht verwendet werden...
03/24/2014 19:59 JogiGFX#8
Vielen dank an die ganzen Antworten, ihr habt mir sehr geholfen ;)

Code:
 Dim wortEin As String
        Dim wortAus As String
        Dim i As Integer
        Dim zaehler As Integer
        Dim x As Integer

        x = ComboBox1.SelectedItem

        wortEin = txtEin.Text
        wortAus = ""
        zaehler = 0

        For i = 0 To wortEin.Length - 1
            zaehler = zaehler + 1
            If zaehler < x Then
                wortAus = wortAus + wortEin.Substring(i, 1)
            Else
                zaehler = 0
            End If
        Next

        txtAus.Text = wortAus
Das ist daraus geworden.
03/24/2014 21:02 tolio#9
[Only registered and activated users can see links. Click Here To Register...]
in .Net arbeitet intern auch mit Substring und somit ist die nutzung nicht sonderlich verwerflich, außer das es ein wenig gegen oop verstößt