Регулярное выражение для замены нескольких дефисов одним - PullRequest
1 голос
/ 07 января 2010

Я написал регулярное выражение, которое генерирует URL, например

/abc/deutschland/bbs-tagesfahrten/betz-mode-frotier-center-–-tress-teigwaren.html.

Теперь я хочу заменить повторяющиеся тире на одну. Как я могу?

Ответы [ 4 ]

8 голосов
/ 07 января 2010
String.replaceAll("--+", "-");
3 голосов
/ 08 января 2010

Возможно, проще, что любое из предложений будет:

s/-{2,}/-/g
2 голосов
/ 07 января 2010

Используйте это:

s/---*/-/g
1 голос
/ 07 января 2010

Чтобы заменить любые повторяющиеся тире во всем URL:

<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")>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...