Coldfusion 向字符串添加空间的简单UDF
我感兴趣的是创建一个cold fusion UDF,如果字符串中的字符数为1或更少,它将在字符串的开头添加一个不间断的空格。有什么建议吗?要增加一些种类:Coldfusion 向字符串添加空间的简单UDF,coldfusion,Coldfusion,我感兴趣的是创建一个cold fusion UDF,如果字符串中的字符数为1或更少,它将在字符串的开头添加一个不间断的空格。有什么建议吗?要增加一些种类: function prependSpace(myString) { var returnString=myString; if (len(myString) LTE 1) { returnString=" " & myString; } return returnString; } <
function prependSpace(myString) {
var returnString=myString;
if (len(myString) LTE 1) {
returnString=" " & myString;
}
return returnString;
}
<cffunction name="padString" returnType="string" access="public" output="no">
<cfargument name="input" type="string" required="yes">
<CFRETURN ((len(ARGUMENTS.input) GT 1) ? ARGUMENTS.input : (" " & ARGUMENTS.input))>
</cffunction>
//如果使用cf9+:
函数padStr(str){
return len(trim(str))这是一个允许传入所有参数而不是硬编码的版本
如果您可能在某个时候想要的不仅仅是
,或者可能有不同的最小长度,则此功能非常有用
<cffunction name="prependIfShort" returntype="string" output="false">
<cfargument name="String" type="string" required />
<cfargument name="Prefix" type="string" required />
<cfargument name="Limit" type="numeric" required />
<cfif len(Arguments.String) LTE Arguments.Limit >
<cfreturn Arguments.Prefix & Arguments.String />
<cfelse>
<cfreturn Arguments.String />
</cfif>
</cffunction>
名称可能会有所改进,但这是目前我所能想到的最好的名称。我投票支持这一名称,因为它将适用于从CF5开始的所有CF版本,因此我认为它是最实用的解决方案。很高兴看到人们使用的各种方法。我几乎否决了它,因为代码有一个bug,但我决定改为修复。:)但是,如果我这样做,我会做一个参数化的版本,而不是浪费时间创建一个临时变量。@Peter:谢谢你的修复。是的,没有它可能的优雅,但肯定足够好,让OP有一个开始的地方。你为什么要修剪字符串?
<cffunction name="prependIfShort" returntype="string" output="false">
<cfargument name="String" type="string" required />
<cfargument name="Prefix" type="string" required />
<cfargument name="Limit" type="numeric" required />
<cfif len(Arguments.String) LTE Arguments.Limit >
<cfreturn Arguments.Prefix & Arguments.String />
<cfelse>
<cfreturn Arguments.String />
</cfif>
</cffunction>
prependIfShort( Input , ' ' , 1 )