我有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或正则表达式都有帮助!感谢。
答案 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。