Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Coldfusion-能否将字符串视为没有分隔符的列表?_String_Coldfusion - Fatal编程技术网

String Coldfusion-能否将字符串视为没有分隔符的列表?

String Coldfusion-能否将字符串视为没有分隔符的列表?,string,coldfusion,String,Coldfusion,我以前认为可以将一个普通字符串作为一个以“”作为分隔符的列表,但CF似乎不允许这样做。这样做: <cfloop list="abcdef" delimiters="" index="thisLetter"> <cfoutput>#thisLetter#</cfoutput><br> </cfloop> 但是结果数组中的第一个元素是一个空字符串,因此从数组中删除它需要额外的步骤 是否有一种更优雅的方法来迭代该字符串中的所有字符,

我以前认为可以将一个普通字符串作为一个以“”作为分隔符的列表,但CF似乎不允许这样做。这样做:

<cfloop list="abcdef" delimiters="" index="thisLetter">
    <cfoutput>#thisLetter#</cfoutput><br>
</cfloop>
但是结果数组中的第一个元素是一个空字符串,因此从数组中删除它需要额外的步骤


是否有一种更优雅的方法来迭代该字符串中的所有字符,而不必首先执行任何特殊的字符串操作,也不必使用
left()
right()
、或
mid()

看起来这就是我想要的:

使用mid()最简单,也不太麻烦。不过,如果能够使用带有分隔符“”的CF list loop,那就太好了。

我建议使用Java的:


#煤焦#

尝试使用chr(30)作为分隔符。
@AlexBaban空的第一个元素是Java=8中的一个“功能”。正如@Alex已经建议的,更新到Java 8或更高版本。在此之前,假设您使用的是Lucee,您可以将其编码为
listcomact()
函数对ACF无效。请参见示例LIstToArray(textString,“”)使用的空分隔符实现了相同的功能,但您将遇到多字节UTF-8字符(即emojis)的问题。在字符计数和罗马化方面,我成功地将字符规范化为NFC格式。
<cfset myArray = "abcdef".split("")>
<cfdump var="#myArray#">
<cfset myString = "aäй漢か">
<cfset theChars = myString.toCharArray()>

<cfloop array="#theChars#" index="char">
    <cfoutput>#char#</cfoutput>
</cfloop>