我的 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/