gpt4 book ai didi

java - 冷融合: Regex to match words and replace & change link

转载 作者:行者123 更新时间:2023-12-02 03:41:42 25 4
gpt4 key购买 nike

我必须挑战正则表达式。

  • 问题:1

如何替换href="http://myserver.com"如果在我的 HTML 中[点击此处]。例如: <a target="_blank" href="http://myserver.com" style="text-decoration: none; color: #fff;">Click here</a>

替换为

<a target="_blank" href="##" style="text-decoration: none; color: #fff;">Click here</a>

  • 问题:2

在我的 HTML 中,我必须搜索关键字 ** ^mytag^ ** 并替换为值。目前我正在循环中进行一项一项替换。

当前代码: #replace(MYHTMLcontent,"^mytag^","Name","All")#

有没有办法可以搜索我所有的 html 关键字,就我而言,类似于 ^keyword^并添加到结构中。

谢谢

已编辑:添加我正在处理的新代码,如果有人可以帮助我,我会陷入困境。它正在替换我的 HTML 中的所有链接。

 <cffunction name="htmlurl" returntype="any" >
<cfargument name="aHTMLTemplate" required="yes" type="any" default="">
<cfargument name="addr" required="yes" type="any" default="http://url.com"> <!--- OR ## --->
<cfset regex = createObject("java", "java.util.regex.Pattern").compile('href=\"[^\"]+\"')>
<cfset result = createObject("java", "java.lang.StringBuilder").init()>
<cfset var htmlcont = arguments.aHTMLTemplate />
<cfset var toReplaceURL = arguments.avolurladdr />


<cfset matcher = regex.matcher(htmlcont)>
<cfset last = 0>

<cfloop condition="matcher.find()">
<cfset result.append(
htmlcont.substring(
last,
matcher.start()
)
)>
<cfset token = matcher.group(
javaCast("int", ( matcher.groupCount() gte 1 ? 1 : 0 ))
)>

<cfset token = ("<a href='"& toReplaceURL & "'")>

<cfset result.append(token)>

<cfset last = matcher.end()>
</cfloop>
<cfset result.append(htmlcont.substring(last))>
<cfset result = result.toString()>
<cfreturn result>
</cffunction>

最佳答案

嗯,我对 Coldfusion 一无所知。但是使用纯 Java,您可以执行以下操作:

问题 1:

String replaced = "";
if(element.matches("<a [^>]+>Click here</a>") {
replaced = element.replaceAll("href=\"[^\"]+\"", "href=\"##\"");
}

正则表达式检查给定的字符串是否是单击此处的链接。然后,它将 href 的“...”之间的所有内容替换为 ##。

问题2:

String replaced = element.replaceAll("\^[^\^]+\^", "NAME");

正则表达式检查任何地方是否有^anything^,并将其替换为NAME。如果您不熟悉正则表达式:[ 和 ] 之间的部分匹配任何非 ^ 的内容。不过看起来有点有趣。

希望这个回答对你有帮助。

关于java - 冷融合: Regex to match words and replace & change link,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36776692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com