Coldfusion 向字符串添加空间的简单UDF

Coldfusion 向字符串添加空间的简单UDF,coldfusion,Coldfusion,我感兴趣的是创建一个cold fusion UDF,如果字符串中的字符数为1或更少,它将在字符串的开头添加一个不间断的空格。有什么建议吗?要增加一些种类: function prependSpace(myString) { var returnString=myString; if (len(myString) LTE 1) { returnString="&nbsp;" & myString; } return returnString; } <

我感兴趣的是创建一个cold fusion UDF,如果字符串中的字符数为1或更少,它将在字符串的开头添加一个不间断的空格。有什么建议吗?

要增加一些种类:

function prependSpace(myString) {
  var returnString=myString;
  if (len(myString) LTE 1) {
    returnString="&nbsp;" & 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 : ("&nbsp;" & 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 , '&nbsp;' , 1 )