gpt4 book ai didi

c# - 如何将带有 "\r\n"的字符串转换为列表?

转载 作者:行者123 更新时间:2023-11-30 19:39:23 27 4
gpt4 key购买 nike

我有一个字符串,想将它转换成一个 LinkedList,这样每一行都是一个元素。

我使用 Visual Studio 2012。

有什么简单的方法吗?

这个字符串看起来像:

LOAD  =5.01E+10
MPY $1
ADD $2

但实际上它包含LOAD =5.01E+10\r\nMPY $1\r\nADD $2

重要更新:我不需要删除“\r\n”或类似的东西。我需要在每个元素中包含一对“左部分”和“右部分”的列表(实际上没有链接)。我从前面的例子中得到什么样的列表的例子:

("LOAD  ", "=5.01E+10") => ("MPY   ", "$1") => ("ADD   ", "$2") => null

实际上,最好在左侧部分之后保存所有这些可用空间。

最佳答案

所以从你的问题中,我知道你需要将这个字符串转换成一个链表 - 键值对。这是一种方法:

编辑(抱歉这个问题有太多的编辑):

string input = "LOAD  =5.01E+10\r\nMPY   $1\r\nADD   $2";

IEnumerable<KeyValuePair<string, string>> pairs =
input.Split(new string[] {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
.Select(x => x.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries))
.Select(x => new KeyValuePair<string, string>(x[0], x[1]));

var data = new LinkedList<KeyValuePair<string, string>>(pairs);

编辑

下面是如何遍历链表:

foreach (KeyValuePair<string, string> pair in data) {
Console.WriteLine("Key: {0} - Value: {1}", pair.Key, pair.Value);
}

或者获取一个节点并访问它的Value,也就是键值对:

KeyValuePair<string, string> p = data.First.Value;
string k = p.Key; // LOAD
string v = p.Value; // =5.01E+10

关于c# - 如何将带有 "\r\n"的字符串转换为列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27834150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com