问题在 C# 上。我有一个字符串“value1=1234;value2=2345;value3=3456;value4= ..."
检索值的最佳方法是什么?
我想过,String.Split(";")
但我不知道如何只检索这些值。我得到的结果包括我不想要的前缀。我只想要"1234", "2345", "3456"...
其他的值,然后将它们放入字符串列表中。
我该如何解决这个问题?谢谢。
如果格式始终是固定的,您可以通过 LINQ 轻松完成:
List<string> values = theString.Split(';').Select(s => s.Split('=')[1]).ToList();
请注意,如果您的输入字符串以分号结尾,您可能需要使用:RemoveEmptyEntries
List<string> values = theString
.Split(new[]{';'}, StringSplitOptions.RemoveEmptyEntries)
.Select(s => s.Split('=')[1]).ToList();
这将防止在Select
. 但是,如果输入不以分号结尾,则没有必要这样做。
var text = "value1=1234;value2=2345;value3=3456;value4= ...";
var pieces = text.Split('=');
var values = new Dictionary<string,string>();
for(int index = 0; index < pieces.Length; index += 2)
{
values.Add(pieces[index], pieces[index + 1]);
}
这将为您提供一对字典,其中键是“=”的左侧,值是值的字符串表示形式,这允许您执行以下操作:
var value1 = values["value1"];
var value2 = values["value2"];