英文:
Duplicate line and replace string with Regular Expression
问题
Sure, here's the translated part:
我有一个包含多个项目的XML文件。
每个项目包含如下一行:
<path>./filename.zip</path>
对于每个项目,我需要在下面再添加一行,如下所示:
<manual><./media/manuals/filename.pdf></manual>
所以我需要复制每个 \<path\> 行并替换为 \<manual\>。
filename 是 Windows
最终结果应该如下:
<path>./filename.zip</path>
<manual><./media/manuals/filename.pdf></manual>
我应该能够在Notepad++中使用正则表达式来完成这个任务。有什么建议吗?
提前感谢。
英文:
I have an XML file that contains several items.
Each item contains a line like this:
<path>./filename.zip</path>
For each item I need to add another line below like this:
<manual><./media/manuals/filename.pdf></manual>
So I need to duplicate each <path> line and replace with <manual>.
filename is windows
The final result would be like this:
<path>./filename.zip</path>
<manual><./media/manuals/filename.pdf></manual>
I should be able to do this using regular expressions in notepad++. Any ideas?
Thanks in advance.
答案1
得分: 2
尝试这个:
查找:<path>\.(.*?)\.\w+</path>
替换:\0\r\n<manual>./media/manuals/\1.pdf</manual>
fyi 第零组是整个匹配。
英文:
Try this:
Find: <path>\.(.*?)\.\w+</path>
Replace: \0\r\n<manual>./media/manuals/\1.pdf</manual>
fyi group zero is the whole match.
答案2
得分: 0
已解决:
查找:(<path>)(\.{0,2}\/)(.*?)(\.zip<\/path>)
替换:\1\2\3.zip<\/path>\r\n <manual>.\/media\/manuals\/\3.pdf<\/manual>
英文:
Solved:
find: (<path>)(\.{0,2}\/)(.*?)(\.zip<\/path>)
replace: \1\2\3.zip<\/path>\r\n <manual>.\/media\/manuals\/\3.pdf<\/manual>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论