如果我这样做:

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

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

如何获得每个拆分之间使用的分隔符的列表?我正在尝试重新创建整个字符串。

最佳答案

正如@ 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; }
}

关于c# - 在C#/ASP.Net中使用定界符进行字符串拆分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7209568/

10-09 06:01