2011-08-26 2 views
5

내가 이렇게 할 경우 :문자열 C#에서 구분 기호로 분리/ASP.Net

string text = "Hello, how are you?"; 

string[] split = text.Split('h', 'o'); 

어떻게 각각의 분할 사이에 사용 된 것을 구분 기호의 목록을받을 수 있나요? 문자열을 전체적으로 다시 만들려고합니다.

+0

분할 문자열 배열에서 구분 기호를 가져 오는 것은 불가능합니다. –

답변

3

언급 한대로 @ Davy8에는 내장 방법이 없습니다. 다음은 사용자 정의 메소드를 작성하는 간단한 예제입니다.

void Main() 
{ 
    string text = "Hello, how are you?"; 
    List<SplitDefinition> splitDefinitionList = CustomSplit(text, new char[] { 'h', 'o' }); 
} 

public List<SplitDefinition> CustomSplit(string source, char[] delimiters) 
{ 
    List<SplitDefinition> splitDefinitionList = new List<SplitDefinition>(); 

    foreach(char d in delimiters) 
    { 
     SplitDefinition sd = new SplitDefinition(d, source.Split(d));   
     splitDefinitionList.Add(sd); 
    } 

    return splitDefinitionList; 
} 

public class SplitDefinition 
{ 
    public SplitDefinition(char delimiter, string[] splits) 
    { 
     this.delimiter = delimiter; 
     this.splits = splits; 
    } 

    public char delimiter { get; set; } 
    public string[] splits { get; set; } 
} 
1

이것은 불가능합니다. 문자열이 분할되었으므로 분할이 'h'또는 'o'를 기반으로했는지 어떻게 알 수 있습니까?

string[] split = text.Split('h', 'o'); 

이 왜되지도 이러한 문자를 저장 :

어쨌든 당신이 할 수 있다면?

2

내가 알고있는 방법이 없습니다. 구분 기호를 추적하는 사용자 정의 분할 방법을 작성하는 것이 좋습니다.

관련 문제