gpt4 book ai didi

c# - 有没有更好的方法从这样的字符串中提取键/值

转载 作者:行者123 更新时间:2023-11-30 15:31:35 25 4
gpt4 key购买 nike

我有以下字符串:

OK:<IDP RESULT="0" MESSAGE="some message" ID="oaisjd98asdh339wnf" MSGTYPE="Done"/>

我使用这个方法解析并得到结果:

public string MethodName(string capt)
{
var receivedData = capt.Split(' ').ToArray();
string _receivedReultValue = "";
foreach (string s in receivedData)
{
if (s.Contains('='))
{
string[] res = s.Split('=').ToArray();
if (res[0].ToUpper() == "RESULT")
{
string resValue = res[1];
resValue = resValue.Replace("\\", " ");
_receivedReultValue = resValue.Replace("\"", " ");
}
}
}

return _receivedReultValue.Trim();
}

有没有更好的方法来解析这样的字符串以提取数据?

最佳答案

你所拥有的并没有那么糟糕。但是,因为它是 XML,您可以这样做:

class Program
{
static void Main(string[] args)
{
var capt = "OK:<IDP RESULT=\"0\" MESSAGE=\"some message\" ID=\"oaisjd98asdh339wnf\" MSGTYPE=\"Done\"/>";
var stream = new MemoryStream(Encoding.Default.GetBytes(capt.Substring(capt.IndexOf("<"))));
var kvpList = XDocument.Load(XmlReader.Create(stream))
.Elements().First()
.Attributes()
.Select(a => new
{
Attr = a.Name.LocalName,
Val = a.Value
});
}
}

这将为您提供该匿名类型的 IEnumerable

关于c# - 有没有更好的方法从这样的字符串中提取键/值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20401405/

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