我想替换前两位并将其替换为0
如果以0开头,则无需更改。
例如:445656至056 ....

<cfif number (BEGIN WITH?) "44">
<cfset number = Right(number , Len(number )-2) />


但这只会删除前两位数字。谢谢你的支持

最佳答案

好像您要保留“以0开头”的数字作为字符串。试试这个:

<!--- // a number that does not start with zero --->
<cfset theNumber = "445656" />
<cfset theNumber = left(theNumber, 1) is 0 ? theNumber : REReplaceNoCase(theNumber, "^[0-9]{2}", 0) />
<!--- // returns 05656 --->
<cfoutput>#theNumber#</cfoutput>

<hr />

<!--- // a number that starts with zero --->
<cfset theNumber = "05656" />
<cfset theNumber = left(theNumber, 1) is 0 ? theNumber : REReplaceNoCase(theNumber, "^[0-9]{2}", 0) />
<!--- // returns 05656 --->
<cfoutput>#theNumber#</cfoutput>


如果您的电话号码始终以0或44开头,则可以使用

<cfset theNumber = left(theNumber, 1) is 0
                    ? theNumber
                    : REReplaceNoCase(theNumber, "^[4]{2}", 0) />



更新:
另外,阅读评论,那里有一些好处。

10-07 23:53