So entfernen Sie ein Zeichen aus string an bestimmter position vom Ende?
Ich habe einen string, zum Beispiel:
Dim str as string = xxxxxxxxxxxxxxxxxxxx£xxx£xxxx**£**xxxxxxxxxx
Möchte ich entfernen £
umgeben von *
die immer an einer bestimmten Stelle (11. z.B.) vom Ende. Der ganze string ist lang, immer in der Größe und nicht gezählt werden kann, von Anfang an. Ich kann Replace
als gut, es kann dasselbe Zeichen an anderen Positionen, die ich nicht entfernen möchte.
Lösung:
Dim rst As String = str.Remove(str.Length - 11, 1)
- wie wäre es dieses msdn.microsoft.com/en-us/library/kxbw3kwc.aspx
- GUTER LINK, IN DER TAT, DANK
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit: Hoppla, ich weiß nicht, was ich dachte beim ersten Teil.
Die richtige version des ersten Teils wäre:
Es kann auch eine überlastung für die
String.Delete
- Funktion, die Ihnen erlaubt, verwenden Sie eine negative Zahl repräsentiert die Anzahl der Zeichen vom Ende der Zeichenfolge -- ich weiß, dass die C# - Entsprechung hat.Wenn Ihr immer 11 Zeichen vom Ende, können Sie dies tun...
Beachten Sie, dass String.SubString ist ein moderner Ansatz als Mitte, aber ich nutze es aus Bevorzugung und Beispiel.
Dies ist relativ einfach mit einem regulären Ausdruck Ersatz Betrieb mit look-ahead:
Diese werden gezielt für ein einzelnes Zeichen, gefolgt von einer zehn Zeichen, dann das Ende der Zeichenfolge und ersetzen Sie es mit der
String.Empty
Wert (oder nur""
wenn Sie es vorziehen).