如何删除最后的连字符

时间:2014-07-23 10:29:48

标签: regex

我使用Regex(在ColdFusion中)用连字符替换非字母数字字符,例如

#REReplace("MyString (NewString)", "[^a-z0-9]", "-")#

因为字符串)中的右括号也被转换为连字符-,所以我得到一个我要删除的尾随连字符。而不是MyString-NewString-我希望MyString-NewString

匹配尾随连字符的正则表达式模式是什么?我以为是(.*)-?,但它对我不起作用。显然,我正在嵌套几个REReplace函数来获得我想要的结果,但不能正确使用正则表达式模式。

2 个答案:

答案 0 :(得分:1)

与尾随连字符匹配的模式将是

-$

$是与字符串末尾匹配的anchor

答案 1 :(得分:1)

  1. 首先删除所有带有空字符串的尾随特殊字符。并将最终结果存储到字符串变量中。

    正则表达式:[^a-zA-Z0-9]$替换字符串= ""

  2. 现在用-

    替换一个或多个特殊字符

    正则表达式:[^a-zA-Z0-9]+替换字符串= "-"