Solved

Parsing part of a string, so that i only have the final segment

Posted on 2009-06-30
7
220 Views
Last Modified: 2012-05-07
I am attempting in C# to remove part of a name from a string.
Using the method Bellow i am able to get all of the data from a predefined directory and place it into a Checked List Box for the user to select.  My problem is that each line looks like this

C:\Users\von Houk\Documents\Test

i am trying to get it to appear in the box as just

Test

remove all of the directory information from the string.

string[] sPatientNames;
sPatientNames = System.IO.Directory.GetDirectories(dPatientData.Path);
clbPatientSelect.Items.AddRange(sPatientNames);

Open in new window

0
Comment
Question by:cotj73
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 63

Accepted Solution

by:
Fernando Soto earned 500 total points
ID: 24748736
Hi cotj73;

This will give you what you want.

clbPatientSelect.Items.AddRange(System.IO.Path.GetFileName(sPatientNames););  


Fernando
0
 
LVL 63

Assisted Solution

by:Fernando Soto
Fernando Soto earned 500 total points
ID: 24748833
Sorry cotj73;

This is what you are looking for.

Fernando
string[] sPatientNames;
sPatientNames = System.IO.Directory.GetDirectories(dPatientData.Path);
 
for (int i = 0; i < sPatientNames.Length; i++)
{
    sPatientNames[i] = System.IO.Path.GetFileName(sPatientNames[i]);
}
 
clbPatientSelect.Items.AddRange(sPatientNames);

Open in new window

0
 
LVL 1

Author Comment

by:cotj73
ID: 24748837
two questions
clbPatientSelect.Items.AddRange(System.IO.Path.GetFileName(sPatientNames););  

this line has two ; at the end separated by a )
is that supposed to be there it comes up as an error

and also it tells me that it can not be converted from type 'string[]' to 'string'

and the one last comment that is my fault for not saying is that i am pulling folder names, not files
in my program i was using
clbPatientSelect.Items.AddRange(System.IO.Path.GetDirectoryName(sPatientNames))'
0
Independent Software Vendors: 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!

 
LVL 1

Author Comment

by:cotj73
ID: 24748879
sorry commented to late on that last comment, that is excatly what i need, except that it pulles a file name, from the directory selected i need the folder names, thank you for the help!
0
 
LVL 1

Author Comment

by:cotj73
ID: 24749037
I figured it out



string[] sPatientNames;
sPatientNames = System.IO.Directory.GetDirectories(dPatientData.Path);
 
for (int i = 0; i < sPatientNames.Length; i++)
 {
   sPatientNames[i] = System.IO.Path.GetFileNameWithoutExtension(sPatientNames[i]);
 }
 
 
clbPatientSelect.Items.AddRange(sPatientNames);
 
Thank you so much for the Help

Open in new window

0
 
LVL 1

Author Closing Comment

by:cotj73
ID: 31598489
Great Help, thank you so much sage for helping me on this problem
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 24749234
Very good, glad you got it working.  ;=)
0

Featured Post

Independent Software Vendors: 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!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
C# Linq Select From List 3 129
Adding where clause to entity statement c# 1 61
Updating a single record in forEach using C#/Entity 7 38
How does this modal work? 3 33
In order to hide the "ugly" records selectors (triangles) in the rowheaders, here are some suggestions. Microsoft doesn't have a direct method/property to do it. You can only hide the rowheader column. First solution, the easy way The first sol…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

739 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