String 如何检查字符串是否以特定子字符串结尾?

String 如何检查字符串是否以特定子字符串结尾?,string,coldfusion,String,Coldfusion,是否有coldfusion字符串函数来检查一个字符串是否以另一个字符串结尾?如果没有,最简单和最有效的方法是什么?您可以使用right(string,numberofcharacters)函数 示例(cfscript): 我找到的解决方案()- 使用正则表达式find-REFindNoCase,并用符号$表示字符串的结尾 REFindNoCase("end$", "check if this string ends with end") 这就是我快速跳到java级别的地方 string = "

是否有coldfusion字符串函数来检查一个字符串是否以另一个字符串结尾?如果没有,最简单和最有效的方法是什么?

您可以使用
right(string,numberofcharacters)
函数

示例(cfscript):

我找到的解决方案()- 使用正则表达式find-
REFindNoCase
,并用符号
$
表示字符串的结尾

REFindNoCase("end$", "check if this string ends with end")

这就是我快速跳到java级别的地方

string = "This is my fancy string";

<cfoutput>#string.endsWith("string")#</cfoutput>

还应返回TRUE

如果您只想比较文字字符,则此函数运行良好。如果搜索字符串包含在正则表达式中有意义的特殊字符,则会遇到问题。比如.?$+*。你必须先逃离他们这里不需要正则表达式@Andreas Schuldaus的解决方案更好,他解释了为什么正则表达式会引起头痛。也就是说:“有些人在遇到问题时会想“我知道,我会使用正则表达式。”现在他们有两个问题。我个人喜欢正则表达式,但这是一个过度使用的例子。上面列出的left()方法更有效。谢谢!这看起来是一个很好的解决方案。。。我想我会坚持我的,因为我要寻找的子字符串是几个字母字符的组合。。。但是谢谢你的回复@Froadi您的字符串将始终是两个字母字符的组合。。。直到有一天它不是。既然有更清晰、更安全、更好的解决方案,为什么还要留下潜在的bug呢。不要想当然。
string = "This is my fancy string";

<cfoutput>#string.endsWith("string")#</cfoutput>
Ucase(string).endsWith("STRING");