我有一些这样的文字:
MAP land id|name, MAP region id|name|active, name, code,valid
COLLECTION:Group1
我正在使用此正则表达式删除某些单词,如“MAP”,“Collection”以及管道分隔的单词。
rEReplaceNoCase( data,"map|collection:|\s+|([[:alnum:]]+\|){1,}[[:alnum:]]*", ",", "ALL" )
结果 应该是逗号分隔的剩余单词列表。但是,这就是正则表达式产生的内容:
,,,land,,,,,,region,,,,,,name,,code,valid,,Group1,
有没有办法摆脱不必要的逗号?
答案 0 :(得分:0)
Coldfusion通常会忽略列表中的空元素。我怀疑如果你输出listlen(你的结果),你会得到6.所以,只要你将结果当作列表使用列表函数处理它,使用cfloop list等循环它 - 你不要真的需要删除那些空元素。如果您将它作为coldfusion中的字符串处理,输出或将其传递给另一个编程上下文等,那么您可能希望删除多余的逗号。您可以通过将其转换为数组并再次返回来实现此目的(因为转换它是一个列表函数,因此忽略空元素):
<cfset temparray = listtoarray(yourresult)>
<cfset yourresult = arraytolist(temparray)>