我有一个代码,其值为:
来自数据库的 a,b,c
..
现在我想根据条件从字符串中删除c
,c
可以在任何地方,第一,最后或中间即可。
我正在使用替换这样做:
<cfset answer = Replace('a,b,c','c','','all')>
这样可行,但它会在结尾或开头留下一个尾随逗号,或者在中间留下两个逗号来打破整个字符串,这可以是我的方法
答案 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");
}