Solved

Get substring.

Posted on 2007-04-05
11
327 Views
Last Modified: 2010-04-23
Given

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

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

 selectedDivName = Right(div.Name, 4)
                   
0
Comment
Question by:mathieu_cupryk
  • 4
  • 2
  • 2
  • +3
11 Comments
 
LVL 35

Expert Comment

by:YZlat
ID: 18859929

 selectedDivName = Left(div.Name, div.Name.Length - 4)
0
 
LVL 35

Expert Comment

by:YZlat
ID: 18859941
use this because .NET does not have Left function
selectedDivName = div.Name.Substring(4,div.Name.Length - 1)
0
 
LVL 25

Expert Comment

by:SStory
ID: 18859972
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 div.name.substring(4) 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.
0
 

Author Comment

by:mathieu_cupryk
ID: 18859997
DOes not work lol
0
 
LVL 24

Expert Comment

by:Jeff Certain
ID: 18860037
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)
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 35

Expert Comment

by:YZlat
ID: 18860042
try

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

Accepted Solution

by:
YZlat earned 500 total points
ID: 18860047
or

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

Expert Comment

by:r1937
ID: 18860461
       '-----Read to end
        Dim MyString As String = "3 - La Senza DEV"
        Dim Start As Integer = 7
        MsgBox(MyString.Substring(Start, MyString.Length - Start))
0
 
LVL 3

Expert Comment

by:r1937
ID: 18860488
       '-----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))
0
 
LVL 25

Expert Comment

by:SStory
ID: 18860877
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.  

0
 
LVL 34

Expert Comment

by:Sancler
ID: 18861521
From ".NET Framework Class Library - Strings.Mid Method (String, Int32, Int32)"

>>
Parameters
str
Required. String expression from which characters are returned.

Start
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.

Length
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)

Roger
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now