Раньше я думал, что вы можете взять обычную строку и рассматривать ее как список с "" в качестве разделителя, но CF, похоже, не позволяет этого. Делая что-то вроде этого:
<cfloop list="abcdef" delimiters="" index="thisLetter">
<cfoutput>#thisLetter#</cfoutput><br>
</cfloop>
приводит только к 1 итерации l oop и выводу всей строки в одну строку. Не то, что нужно.
Я обнаружил, что вы можете использовать метод Java string.split()
с разделителем "":
<cfset myArray = "abcdef".split("")>
<cfdump var="#myArray#">
Но тогда первый элемент в полученном массиве является пустая строка, так что есть дополнительный шаг в удалении этого из массива.
Есть ли более элегантный способ перебрать все символы в этой строке без необходимости предварительно выполнять какие-либо специальные манипуляции со строками и без необходимости используйте left()
, right()
или mid()
?