c# - 如何从添加 '\n\r' 作为行尾的多行 TextBox 中将字符串拆分为 List<string>?

标签 c# arrays string

我的 XAML 文件中有一个文本框:

<TextBox 
             VerticalScrollBarVisibility="Visible" 
             AcceptsReturn="True" 
             Width="400" 
             Height="100" 
             Margin="0 0 0 10" 
             Text="{Binding ItemTypeDefinitionScript}"
             HorizontalAlignment="Left"/>

我用它得到一个字符串,然后发送到 CreateTable(string)依次调用 CreateTable(List<string>) .

public override void CreateTable(string itemTypeDefinitionScript)
{
    CreateTable(itemTypeDefinitionScript.Split(Environment.NewLine.ToCharArray()).ToList<string>());
}

public override void CreateTable(List<string> itemTypeDefinitionArray)
{
    Console.WriteLine("test: " + String.Join("|", itemTypeDefinitionArray.ToArray()));
}

问题是字符串显然在每一行的末尾都有'\n\r',所以 Split('\n') 和 Split('\r') 一样只得到其中一个,并且使用 Environment. Newline.ToCharArray() 当我输入这个时:

one
two
three

产生这个:

one||two||three

但我当然希望它产生这个:

one|two|three

什么是用' \n\r 简单解析字符串的一行代码? ' 结尾为 List<string> ?

最佳答案

像这样的东西可以工作:

string input = "line 1\r\nline 2\r\n";
List<string> list = new List<string>(
                           input.Split(new string[] { "\r\n" }, 
                           StringSplitOptions.RemoveEmptyEntries));

"\r\n" 替换为适合您需要的分隔符字符串。

关于c# - 如何从添加 '\n\r' 作为行尾的多行 TextBox 中将字符串拆分为 List<string>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1723253/

相关文章:

c# - 在没有 LINQ 的情况下对充满匿名类型的 List<object> 进行排序

c# - ApplicationServices 解析网络核心中不同范围的实例?

c# - CSLA getproperty、setproperty和一般getters和setters的区别

C - 如何将 ASCII 代码附加到 char 数组

java - 如何从 ArrayAdapter.getItem(which) 中选择最后一部分?

c# - 如何从特定字符之前的字符串中删除所有字符

c# - 如何模拟shift/ctrl/alt键状态?

c++ - 如何在数组和 vector 中存储和保持输入 C++

arrays - Swift 字符串比较字符

JavaScript 调用带有数字正则表达式匹配的函数(int)会导致错误