【发布时间】:2010-02-11 03:32:02
【问题描述】:
使用 C#,您将如何转换 String,它还包含以下格式的换行符和制表符(4 个空格)
A {
B {
C = D
E = F
}
G = H
}
进入以下
A.B.C = D
A.B.E = F
A.G = H
请注意,A 到 H 只是 String 值的占位符,不包含“{”、“}”和“=”字符。以上只是一个示例,实际要转换的String 可以包含无限深的值嵌套,也可以包含无限数量的“?=?”。
【问题讨论】:
-
你不能用正则表达式做到这一点;您需要编写一个基于堆栈的解析器。
-
这看起来非常类似于 JSON。与其发明一种新格式,不如直接使用它?
-
@Yuriy:我需要在控制台和/或文本文件中显示一些字符串值,而默认字符串很难确定父名称。当嵌套太深或字符串值列表太长时尤其如此。因此,需要将现有格式转换为更易于阅读的格式。