正则表达式用单个连字符替换多个连字符

时间:2010-01-07 11:17:37

标签: java regex coldfusion

我写了一个正则表达式,生成一个像

这样的网址
/abc/deutschland/bbs-tagesfahrten/betz-mode-frotier-center-–-tress-teigwaren.html.

现在我想用一个替换重复的破折号。我怎么能?

4 个答案:

答案 0 :(得分:8)

String.replaceAll("--+", "-");

答案 1 :(得分:3)

任何建议都可能更简单:

s/-{2,}/-/g

答案 2 :(得分:2)

使用此:

s/---*/-/g

答案 3 :(得分:1)

要在整个网址中替换任何重复的破折号:

<cfset InputUrl = "/abc/deutschland/bbs-tagesfahrten/betz-mode-frotier-center-–-tress-teigwaren.html">
<cfset CleanUrl = REReplace(InputUrl, "-+", "-", "ALL")>

仅处理文件部分:

<cfset PathPart = REReplace(InputUrl, "(.*/).*", "\1")>
<cfset FilePart = ListLast(InputUrl, "/")>
<cfset CleanUrl = PathPart & REReplace(FilePart, "-+", "-", "ALL")>