我发现这个任务在AS3中具有挑战性.
如果我遗漏了一些基本/简单或一些内置方法可以做到这一点,请原谅.我对RegExp并不熟悉.
我有一个动态表示其长相酷似"完整的文件路径字符串d:\ TEMP\abc.doc ".我想从完整的字符串中提取文件名部分,例如abc.doc.
我知道喜欢使用"fullPath.lastIndexOf(" \\")"或正则表达式技术.问题是,如果你的路径中有"\",它似乎不起作用.它适用于"/".无法操纵动态路径将"\"替换为"/"或任何其他分隔符.我的解释是,因为"\"用于转义字符 - 出现在"\"之后的任何字符都会被actionscript忽略.例如
var fullPath:String = "A\B\C"; trace(fullPath.length); //**RETURNS 3** since "\B" & "\C" // are being treated as SINGLE chars var bSlash:int = fullPath.lastIndexOf("\\") //RETURNS **-1**
dirkgently.. 8
您需要使用A\\B\\C
(在大多数语言中,在AS中,未转义的字符串文字\
通过与下一个字符组合创建转义序列).我觉得你没有正确生成动态字符串.如果该字符串应该是一个路径,那么它应该含有一个单独的\
通过使用转义反斜杠在路径片段之间的字符\\
.
您需要使用A\\B\\C
(在大多数语言中,在AS中,未转义的字符串文字\
通过与下一个字符组合创建转义序列).我觉得你没有正确生成动态字符串.如果该字符串应该是一个路径,那么它应该含有一个单独的\
通过使用转义反斜杠在路径片段之间的字符\\
.