在coldfusion中使用替换,留下尾随逗号

时间:2014-12-16 21:53:54

标签: coldfusion

我有一个代码,其值为:

来自数据库的

a,b,c ..

现在我想根据条件从字符串中删除cc可以在任何地方,第一最后中间即可。

我正在使用替换这样做:

<cfset answer = Replace('a,b,c','c','','all')>

这样可行,但它会在结尾或开头留下一个尾随逗号,或者在中间留下两个逗号来打破整个字符串,这可以是我的方法

1 个答案:

答案 0 :(得分:2)

<cfscript>
input = 'a,b,c';

foundAt = listFind(input, 'c');
answer = foundAt ? listDeleteAt(input, foundAt) : input;

writeOutput(answer);
</cfscript>

Run this code LIVE on TryCF.com

请参阅:List functions

或使用REReplace()。解决方案只是一个谷歌搜索:Regex for removing an item from a comma-separated string?

function listRemoveAll(list, item) {
    return REReplace(list, "\b#item#\b,|,\b#item#\b$", "", "all");
}