C# 如何将字符串拆分为列表<;字符串>;从添加'\n\r';作为行尾?
我的XAML文件中有一个文本框:C# 如何将字符串拆分为列表<;字符串>;从添加'\n\r';作为行尾?,c#,arrays,string,C#,Arrays,String,我的XAML文件中有一个文本框: <TextBox VerticalScrollBarVisibility="Visible" AcceptsReturn="True" Width="400" Height="100" Margin="0 0 0 10" Text="{Binding ItemTypeDefinitionSc
<TextBox
VerticalScrollBarVisibility="Visible"
AcceptsReturn="True"
Width="400"
Height="100"
Margin="0 0 0 10"
Text="{Binding ItemTypeDefinitionScript}"
HorizontalAlignment="Left"/>
问题是字符串显然在每行末尾都有'\n\r',因此Split('\n')只会像Split('\r')一样获取其中一行,并且在键入以下内容时使用Environment.Newline.ToCharArray():
one
two
three
产生以下结果:
one||two||three
但我当然希望它能产生这样的效果:
one|two|three
什么是单行程序,可以简单地将以“\n\r
”结尾的字符串解析为列表?
使用以字符串[]
为分隔符的重载:
itemTypeDefinitionScript.Split(new [] { Environment.NewLine },
StringSplitOptions.RemoveEmptyEntries);
类似这样的方法可能会奏效:
string input = "line 1\r\nline 2\r\n";
List<string> list = new List<string>(
input.Split(new string[] { "\r\n" },
StringSplitOptions.RemoveEmptyEntries));
string input=“第1行\r\n第2行\r\n”;
列表=新列表(
input.Split(新字符串[]{“\r\n”},
StringSplitOptions.RemoveEmptyEntries);
用适合您需要的分隔符字符串替换“\r\n”
。尝试以下操作:
List<string> list = new List<string>(Regex.Split(input, Environment.NewLine));
List List=新列表(Regex.Split(input,Environment.NewLine));
次要添加:
List<string> list = new List<string>(
input.Split(new string[] { "\r\n", "\n" },
StringSplitOptions.None));
List List=新列表(
input.Split(新字符串[]{“\r\n”,“\n”},
StringSplitOptions.None);
将捕获不带“\r”(我有许多来自古代FORTRAN FIFO代码的示例…)的案例,并且不会丢弃任何行。您确定它是
\n\r
而不是相反的方式吗?可能是相反的方式,但我认为Environment.NewLine的顺序是正确的,因此它可以将这两个字符上的行作为单位分隔符进行拆分
List<string> list = new List<string>(
input.Split(new string[] { "\r\n", "\n" },
StringSplitOptions.None));