Да, вы можете сделать это с помощью Adobe ColdFusion и других механизмов CFML, построенных на Java. Это на самом деле проще, чем вы думали.
<cfset str = "hello what's up" />
#str.startsWith("hello")# <!--- returns "YES" --->
<cfif str.startsWith("h")>
This text will be output
</cfif>
#str.startsWith("goodbye")# <!--- returns "NO" --->
<cfif str.startsWith("g")>
This text will NOT be output
</cfif>
Это возможно, потому что строки CFML в ColdFusion такие же, как строки Java. Вы можете использовать любой собственный метод строки (Java.lang.String) для строки CFML.
Если вы еще не догадались, это также работает с массивами CFML (некоторый список, вероятно, java.util.Vector) и структурами (возможно, с java.util.Map). Поэкспериментируйте с типами данных и тегом cfdump, вы найдете много секретов.
Одно предупреждение: это , а не стандарт CFML, поэтому, если ваш базовый движок изменится, в том числе просто перейдет на новую версию, нет никаких гарантий, что он все еще будет работать.
При этом string.startsWith () является родным для Java, а также для .NET, поэтому это также будет работать, если ваш CFML-движок - BlueDragon.NET. Единственные механизмы CFML, на которых он не будет работать, - это ColdFusion 5 и предыдущий.
Безопасно ли использовать? Я бы сказал, да. Пока механизмы CFML работают на Java или .NET, это абсолютно безопасно. Он недокументирован, но его легко понять, поэтому я бы сказал, что пользуйтесь им свободно.