我有一个xlsx / csv文件,我试图用notepad ++修改它的内容。 正好是href里面的一个url。例如:
href=""/xs_db/DOKUMENT_DB/www/Datenblaetter/de/7/7521_Datasheet--de.pdf""
href=""/xs_db/DOKUMENT_DB/www/Datenblaetter/de/7609_Datasheet--de.pdf""
href=""/xs_db/DOKUMENT_DB/www/Datenblaetter/de/6/7981_Datasheet--de.pdf""
etc...
更换后,我希望它们看起来像这样:
href=""/docs/7521_Datasheet--de.pdf""
href=""/docs/7609_Datasheet--de.pdf""
href=""/docs/7981_Datasheet--de.pdf""
现在,我在find上有这个模式:
(?<=href=(""|''))[^"']+(?=(.pdf""|.pdf''))
编辑: 在尝试给定示例后,没有字符串匹配。这是完整的单元格文本:
"<table cellspacing=""0"" width=""100%"" border=""0"" cellpadding=""10""><tbody><tr>
<td align=""left"" valign=""top"">
<table cellspacing=""0"" width=""100%"" border=""0"" cellpadding=""0""><tbody><tr>
<td>
<table cellspacing=""0"" width=""100%"" border=""0"" cellpadding=""0""><tbody><tr>
<td align=""left"" valign=""top"" class=""DocRepCell1""><img src=""/catalog/pdf.gif"" alt="" "" border=""0""></td>
<td align=""left"" width=""97%"" valign=""middle"" class=""DocRepCell2""><span class=""NavigationButtonMoreInfos"">Produktinformation breite</span> </td>
<td align=""right"" width=""1%"" nowrap=""nowrap"" valign=""middle"" class=""DocRepCell3"">0,1 MB</td>
<td align=""right"" width=""1%"" nowrap=""nowrap"" valign=""middle"" class=""DocRepCell4"">
<a class=""NavigationButtonMoreInfos"" target=""_blank"" href=""/xs_db/DOKUMENT_DB/www/Datenblaetter/de/7/7521_Datasheet--de.pdf"">herunterladen</a></td></tr>
</tbody></table></td></tr></tbody>
</table></td></tr>
</tbody></table></td></tr>
</tbody></table>"
答案 0 :(得分:0)
您可以在正则表达式模式下尝试以下查找和替换:
<强>查找强>
^href=""/.*?(\d+_Datasheet.*\.pdf"")$
<强>替换强>
href=""/docs/$1
请注意,如果查找模式不适用于更多数据,则可以使查找模式更具通用性。但总的来说,我们需要一些具体的方法来识别你希望在比赛中保留的后缀的开头。如果我的回答对您不起作用,请说明失败的原因,并提供允许识别后缀的逻辑。
答案 1 :(得分:0)
这是一种只需将要替换的部分与路径/文档
匹配的方法查找内容:
^href=["']+\K(/.*?)(?=/\d+_[\w-]+\.pdf["']+$)
替换为:
/docs
搜索模式:正则表达式(最好用“。匹配新行”检查)