Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将序列化的C#元组转换为PropertyName:value的正则表达式是什么?_C#_Regex_C# 7.0 - Fatal编程技术网

将序列化的C#元组转换为PropertyName:value的正则表达式是什么?

将序列化的C#元组转换为PropertyName:value的正则表达式是什么?,c#,regex,c#-7.0,C#,Regex,C# 7.0,如果您获取一个元组(string MyProperty,objet MyValue)并将其序列化,那么您最终得到的是{“Item1”:“MyProperty”,“Item2”:},而您真正想要的是{“MyProperty”:} 有人能帮我用正确的正则表达式来来回转换这两个吗?这应该演示如何来回转换。请注意,若要在字符串中转义,请使用其中的两个 使用System.Text.regular表达式; Regex-tupleRegex=newregex(@“{”Item1“:(.+?”),“Item2“

如果您获取一个元组
(string MyProperty,objet MyValue)
并将其序列化,那么您最终得到的是
{“Item1”:“MyProperty”,“Item2”:}
,而您真正想要的是
{“MyProperty”:}


有人能帮我用正确的正则表达式来来回转换这两个吗?

这应该演示如何来回转换。请注意,若要在字符串中转义,请使用其中的两个

使用System.Text.regular表达式;
Regex-tupleRegex=newregex(@“{”Item1“:(.+?”),“Item2“:(.+?)}”);
字符串元组字符串=@“{”“Item1”“:”“MyProperty”“Item2”“:}”;
字符串tupleToKeyValuePairResult=tupleRegex.Replace(tupleString,“{$1:$2}”);
Console.WriteLine(tupleToKeyValuePairResult);
Regex-kvpRegex=newregex(@“{(“+?”):(.+?)}”);
字符串kvpToTupleResult=kvpRegex.Replace(tupleToKeyValuePairResult,@“{”“Item1”“:$1”,“Item2”“:$2}”);
Console.WriteLine(kvpToTupleResult);

查看它的实际操作:

看起来您真正想要的是一个KeyValuePair,而不是一个元组。我可以做不同的事情,事实上我做了,但这里的问题实际上是关于正则表达式的。