将序列化的 C# 元组转换为 PropertyName: 值的正则表达式是什么?
What is the Regex expression to transform a serialized C# tuple into PropertyName: value?
如果你拿一个元组 (string MyProperty, objet MyValue)
并序列化它,你最终会得到 {"Item1": "MyProperty", "Item2": <value>}
而你真正想要的是 {"MyProperty": <value>}
有人可以帮我用正确的 Regex 表达式来来回转换这两个吗?
这应该演示来回转换。请注意,要在字符串中转义 ",您需要使用其中的 2 个。
using System.Text.RegularExpressions;
Regex tupleRegex = new Regex(@"{""Item1"": ("".+?""), ""Item2"": (.+?)}");
string tupleString = @"{""Item1"": ""MyProperty"", ""Item2"": <value>}";
string tupleToKeyValuePairResult = tupleRegex.Replace(tupleString, "{: }");
Console.WriteLine(tupleToKeyValuePairResult);
Regex kvpRegex = new Regex(@"{("".+?""): (.+?)}");
string kvpToTupleResult = kvpRegex.Replace(tupleToKeyValuePairResult, @"{""Item1"": , ""Item2"": }");
Console.WriteLine(kvpToTupleResult);
如果你拿一个元组 (string MyProperty, objet MyValue)
并序列化它,你最终会得到 {"Item1": "MyProperty", "Item2": <value>}
而你真正想要的是 {"MyProperty": <value>}
有人可以帮我用正确的 Regex 表达式来来回转换这两个吗?
这应该演示来回转换。请注意,要在字符串中转义 ",您需要使用其中的 2 个。
using System.Text.RegularExpressions;
Regex tupleRegex = new Regex(@"{""Item1"": ("".+?""), ""Item2"": (.+?)}");
string tupleString = @"{""Item1"": ""MyProperty"", ""Item2"": <value>}";
string tupleToKeyValuePairResult = tupleRegex.Replace(tupleString, "{: }");
Console.WriteLine(tupleToKeyValuePairResult);
Regex kvpRegex = new Regex(@"{("".+?""): (.+?)}");
string kvpToTupleResult = kvpRegex.Replace(tupleToKeyValuePairResult, @"{""Item1"": , ""Item2"": }");
Console.WriteLine(kvpToTupleResult);