我有一些以下格式的ASCII文档:
[section heading]
paragraphs......
[section heading]
paragraphs......
...
注意:标题文字始终以某种特定模式括起来(例如上例中的
[
]
)
我想将文件拆分为单独的部分(每个部分都带有标题和内容)。
解析上述文档的最有效方法是什么?
使用Regex.Match()
我可以提取标题,但不提取后续的文字内容。
使用Regex.Split()
我可以获取内容,但不能获取相关标题。
是否可以将这两个Regex
方法结合起来解析文档?是否有更好的方法来实现同样的目标?
答案 0 :(得分:1)
试试这个:
string search = "\[([\w ]+)\]([^\[]*)";
foreach (Match match in Regex.Matches(yourtext, search))
{
string heading = match.Groups[1];
string text = match.Groups[2];
}
正则表达式捕获标题和段落。由于捕获组(在括号之间),您可以通过迭代匹配来提取它们。
答案 1 :(得分:1)