如果字符串的第一个和最后一个字符不是/
,我正在尝试将正斜杠添加到文本字符串的开头和结尾。
在我的剧本中我有:
if(!reFind('\/\S\/', myString){
myString = '/' & arrayToList(listToArray(myString, '/\'), '/') & '/');
}
我想运行ReReplace而不是列出到数组,然后添加斜杠。
答案 0 :(得分:2)
使用数组列出并列出到数组可能会删除内斜杠,因此您不希望这样做。相反,用正则表达式替换前导和尾部斜杠。
<cfscript>
string1 = "foobar";
string2 = "/foobar/";
string3 = "foo/bar";
string4 = "/foo/bar/";
function addSlashes (str) {
return "/" & reReplace(str,"^/|/$","","all") & "/";
}
writeDump(addSlashes(string1));
writeDump(addSlashes(string2));
writeDump(addSlashes(string3));
writeDump(addSlashes(string4));
</cfscript>
您可以将上述内容粘贴到http://www.trycf.com
中答案 1 :(得分:2)
您应该能够将^/?(.*?)/?$
替换为/\1/
。
注意我使用的模式@ www.regexper.com略有不同,因为我需要为JS模式转义/
;对于CFML而言则不然。