2010-12-21 4 views
3

내 문자열은 다음과 같습니다. aaa/b/cc/dd/ee. /없이 첫 부분을 자르고 싶습니다. 내가 어떻게 해? 나는 많은 끈을 가지고 있으며 길이가 같지 않다. Substring()을 사용하려고했지만 /에 대해서는 어떨까요?C#의 문자열에서 자르기

첫 번째 treeNode에 'aaa'를 추가하고 싶습니다. 'b'를 두 번째 등으로 추가하고 싶습니다. 트리 뷰에 무언가를 추가하는 방법을 알고 있지만 어떻게이 부분을받을 수 있는지 모르겠습니다.

+3

가 원하는 출력은 무엇인가? – pdiddy

+0

첫 번째 파트를 가져 오거나 첫 번째 파트를 제거 하시겠습니까? 예전에라면 "aaa/b/cc/dd/ee"를 할 수 있습니다. Split ('/') [0] – Andrey

+0

이것이 숙제임이 거의 보장 할 수 있습니다. 이 작업을 수행하는 가장 간단한 방법은 각 하위 문자열을 처리하여 배열에 배치하는 것입니다. while 루프와 카운팅 정수를 사용하여 부분적으로 문자열을 반복 할 수 있습니다. 일단 배열을 만들면 거기에서 갈 수 있습니다. –

답변

5

것은 어쩌면 Split() 방법은 '당신이 무엇을이다 다시 후에?

string value = "aaa/b/cc/dd/ee"; 

string[] collection = value.Split('/'); 

배열에 지정된 하나 개 이상의 문자로 구분되는이 인스턴스의 문자열은 다음 문자열 배열에 문자열을 배치 식별합니다. TreeView를 관련하여 업데이트를 기반으로

(? ASP.Net 윈폼은) 당신은이 작업을 수행 할 수 있습니다

귀하의 예를 제공
foreach(string text in collection) 
{ 
    TreeNode node = new TreeNode(text); 
    myTreeView.Nodes.Add(node); 
} 
0

이 소리는 ... Regular Expressions!

// from memory, need to test :) 
string output = String.Substring(inputString, 
           inputString.IndexOf("/"),  
           inputString.Length - inputString.IndexOf("/"); 
+0

아, 아니요! 아니! 정말? :) –

+3

오래된 중국어 속담 : "문제가 생겨서 프로그래머가 정규 표현식을 사용하기로 결정했을 수 있습니다. 프로그래머는 이제 2 가지 문제가 있습니다." :) – Jamiec

4

사용 SubstringIndexOf은 첫 번째 부분을 얻기 위해 처음 /

의 위치를 ​​찾을 수 string.Split을 사용하여 문자열을 배열로 분할 한 다음 string.Join을 사용하여 배열의 일부분을 새로운 문자열에 추가하십시오. 예를 들어

:

var parts = input.Split('/'); 
var processedInput = string.Join("/", parts.Skip(1)); 

이것은 일반적인 방법이다. 당신은 매우 특별한 처리를해야 할 경우, 예를 들어, string.IndexOf 더 효율적으로 할 수 있습니다

var processedInput = input.Substring(input.IndexOf('/') + 1); 
0

한 가지 방법으로 :

 
// from memory, need to test :) 
string output = String.Substring(inputString, 0, inputString.IndexOf("/")); 

단지 첫 번째 부분을 잘라 :

1

당신은 아마하고 싶은 것 :

string[] parts = "aaa/b/cc/dd/ee".Split(new char[] { '/' });