Get substring.


'3 - La Senza DEV' in variable div.Name.

I just want La Senza DEV. The following does not work.

 selectedDivName = Right(div.Name, 4)
Who is Participating?
YZlatConnect With a Mentor Commented:

selectedDivName = div.Name.ToString.Substring(4,div.Name.ToString.Length - 1)

 selectedDivName = Left(div.Name, div.Name.Length - 4)
use this because .NET does not have Left function
selectedDivName = div.Name.Substring(4,div.Name.Length - 1)
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Not sure what language or how you want to determine what you are after.
Your code says, "give me the 4 right most chars which would be " DEV"

If this is Dot Net

then would give you all the chars besides the first 4.

You need to provide more info as to how you are going to determine how many chars from which side you want to get.
mathieu_cuprykAuthor Commented:
DOes not work lol
Jeff CertainCommented:
The LEFT and RIGHT functions require the import of the Microsoft.VisualBasic compatibility library.

You're going to run into issues if you have more than one digit at the beginning.

Try selectedDivName  = div.Name.Substring(div.IndexOf("-"c) + 1)

selectedDivName = div.Name.ToString.Substring(4,div.Name.Length - 1)
       '-----Read to end
        Dim MyString As String = "3 - La Senza DEV"
        Dim Start As Integer = 7
        MsgBox(MyString.Substring(Start, MyString.Length - Start))
       '-----Read to end
        Dim MyString As String = "3 - La Senza DEV"
        Dim Start As Integer = 4
        MsgBox(MyString.Substring(Start, MyString.Length - Start))

        '-----Or if you want old visual basic stuff-----

        MsgBox(Microsoft.VisualBasic.Right(MyString, 12))
If you want tot use the old VB library do an

imports microsoft.visualbasic at the top of the code.

There's nothing wrong with this. C programmer use their libraries and would be lost without them.
While it's true that you can use substring to accomplish a LEFT or RIGHT, it would be a lot simpler if Microsoft had included a left and right on the String class (even if it just called the substring function internally.  At the least a Right function would have been nice.

The bottom line is that if you have a string

dim s as string="WHATEVER"

if you want the left 4 chars
s.substring(0,4) should give it to you the same as Left(s,4)

If you want the right side minus 4 chars

s.substring(4,s.length-4) will give you this

4 could obviouly be some variable if you like.

s.substring(4) in this example start at the 5th char and gives you all the rest
which would be "EVER"

Given a string, this is how you do Left, and Right
Mid could be accomplished such as
s.substring(4,2) which would return "EV" in this case

Your question seems more than answered by multiple people.

If it isn't then you need to be a lot more specific.  

From ".NET Framework Class Library - Strings.Mid Method (String, Int32, Int32)"

Required. String expression from which characters are returned.

Required. Integer expression. Starting position of the characters to return. If Start is greater than the number of characters in str, the Mid function returns a zero-length string (""). Start is one based.

Optional. Integer expression. Number of characters to return. If omitted or if there are fewer than Length characters in the text (including the character at position Start), all characters from the start position to the end of the string are returned.


This example uses the Mid function to return a specified number of characters from a string.

Visual Basic
' Creates text string.
Dim TestString As String = "Mid Function Demo"
' Returns "Mid".
Dim FirstWord As String = Mid(TestString, 1, 3)
' Returns "Demo".
Dim LastWord As String = Mid(TestString, 14, 4)
' Returns "Function Demo".
Dim MidWords As String = Mid(TestString, 5)


So, with the data you give, you want - in .NET (not heritage Visual Basic) code - and assuming both selectedDivName and div.Name are declared as Strings

    selectedDivName = Mid(div.Name, 5)

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.