Search code examples
vb.netstringtrim

How to remove a character from at string at certain position from the end?


I have a string, for example:

    Dim str as string = xxxxxxxxxxxxxxxxxxxx£xxx£xxxx**£**xxxxxxxxxx

I want to remove £ surrounded from * which is always at a certain position (11th for instance) from the end. The whole string is a long one, always change in size and cannot be counted from the start. I cannot use Replace as well, there may be same characters at other positions that I do not wish to remove.


Solution:

Dim rst As String = str.Remove(str.Length - 11, 1)

Solution

  • Edit: Whoops, I dunno what I was thinking on that first part.

    The correct version of the first part would be:

    str = str.Substring(0, str.Len -13) + str.Substring(str.Len-11);
    

    There also may be an overload for the String.Delete function that allows you to use a negative number to represent the number of characters from the end of the string -- I know that the C# equivalent does.