Solved

Get substring.

Posted on 2007-04-05
11
332 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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

726 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