Coldfuson或Regular Expression查找字符串中以Page .doc,.txt,.pdf结尾的所有URL

时间:2011-10-10 19:07:39

标签: regex coldfusion

我有Coldfusion网页,需要使用Coldfusion或正则表达式代码来删除字符串中的URL(多个)。它们一起运行,没有换行符或逗号分隔它们。请注意,所有网址都是“完整”,这意味着它们以以“.doc”或“.txt”或“.pdf”结尾的网页或文档文件类型结尾。

示例string =“http://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202_to-pmod7-ep.pdfhttp://xxxx.xxxx.com/ap

PS /库/ hdldocs / pwr_voltage / LMZ14202 /文档/ lmz14202_to-pmod7-ep.pdfhttp://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage

/lmz14202/docs/lmz14202h-data.pdfhttp://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202_to-pmod7-

ep.pdfhttp://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202_to-pmod7-ep.pdfhttp://xxxx.xxxx.co

米/应用/库/ hdldocs / pwr_voltage / LMZ14202 /文档/ LMZ14202H-data.pdf“

Coldfusion或正则表达式都有帮助!感谢。

2 个答案:

答案 0 :(得分:1)

<cfscript>
examplestring = "http://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202_to-pmod7-ep.pdfhttp://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202_to-pmod7-ep.pdfhttp://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202h-data.pdfhttp://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202_to-pmod7-ep.pdfhttp://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202_to-pmod7-ep.pdfhttp://xxxx.xxxx.com/apps/libs/hdldocs/pwr_voltage/lmz14202/docs/lmz14202h-data.pdf";
aHREF = examplestring.split("http://");
</cfscript>

我把它写成一个脚本块,但它与标准cfset调用一样好。

你最终获得了一系列网址,http://从前面剥离。如果字符串中的第一个东西是url,那么你将在第一个位置得到一个空数组元素,但这应该给你一个良好的开端。它也应该比使用大量数据的ColdFusion函数快得多,因为它直接到底层的java.lang.String对象。

答案 1 :(得分:0)

<cfset myurls = ListToArray(ReplaceNoCase(str, "http://", "#chr(7)#http://", "all"), chr(7))>

如user662486所指出的那样,没有理由用正则表达式来做这件事。上面的代码将返回一个数组,其中每个元素都包含完整的URL。