【发布时间】:2014-01-18 04:31:58
【问题描述】:
我有一个问题想知道如何解决。
我有一个从包含问题列表的 pdf 文件中读取的字符串。 格式为:
问题编号:1
xxxxxxx(问题文本)
A) xxxx (多选) B) xxxx C) xxxx ...
答案:xxxxx
问题编号:2
xxxxxxx(问题文本)
....(等等)
列表中有大约 200 个问题。
我正在尝试使用正则表达式来分解文本,以便每个问题都可以放在单独的字符串中。
我以前用 html 和 xml 文档做过这个,但它们很容易,因为有很多识别标签,比如双引号、方括号和圆括号。
但我不知道如何仅使用文本来执行此操作。我尝试了很多组合,但似乎我无法获得正确的格式:
var questionPattern = @"QUESTION NO:(.*)QUESTION NO:";
var questionMatch = Regex.Matches(pdfText, questionPattern, RegexOptions.Singleline);
我在想,有没有办法:
var questionPattern = @"(?<=QUESTION NO:)[^QUESTION NO:]*";
[^QUESTION NO:]* 在哪里读取每个问题标头之后的所有内容,直到它在下一个问题标头时停止?
显然这是错误的格式,但我希望人们能理解我想要表达的意思。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
我知道我可以通过 split 轻松做到这一点,但我想知道是否可以使用 Regex 来完成,谢谢。
-
感谢您的编辑,顺便说一句。
标签: c# regex string list file-io