我正在使用一个文本文件,我需要在Python中重新详细说明,但在我需要一个字典之前,我想在记事本++中使用替换函数创建它。
我的文字文件如下:
Item 1.
Text Text
Text
Item 2.
Text
[...]
Item 1005.
Text
Text
Text
Item 1006. Text
我想:
"Item 1":"TextTextText","Item 2":"Text",
等等
我想过:
替换\ r \ n =>空白
替换:项目(。+)。(。+)[NOT Item] => “\ 1”: “\ 2”,
但是我不确定在第二次找到单词“Item”而不包括它时停止的命令是什么。
这是我的第一次。你介意帮帮我吗?
提前致谢
答案 0 :(得分:2)
你可以通过两次传球。
第一遍:用空字符串替换\s+
,就像你一样。
第二遍:
(Item\.?)(\d+)\.?(.*?)(?=Item\.?\d+|\Z)
"$1 $2":"$3",
.*?
lazy ,它会尝试匹配尽可能少的字符,但是前瞻(?=Item\d+\.|\Z)
会强制它匹配,直到它跟着另一个{{1或者字符串的结尾(Item\d+\.
)。