【发布时间】:2014-07-26 06:42:51
【问题描述】:
我正在尝试从包含“\”的 Windows 路径字符串中提取标记。
我尝试过 string-split 和 string->list,但是其中一个路径元素以“d”开头,所以我收到“read: unknown escape sequence \d in string”错误。
编辑:路径的格式为:“\\aaaa\bbbb\cccc\dddd\eeee....”。例如,我需要提取“eeee”部分。 “string->”函数在“dddd”元素上阻塞,出现上述错误。在 Windows 7 上,Racket 5.3.3。例如:(string-split path), (string->list path)
【问题讨论】:
-
你是如何构建这个字符串的?您应该使用 Racket 的特定路径程序,例如
(build-path "c:" "Documents" "data.txt")、(split-path)等。另外,请注意,要在字符串中包含 \,您需要将其放置两次,因为 \ 是转义字符。 -
另见
explode-path和string->some-system-path和some-system-path->string。否则,我们需要更多细节:代码示例?您是否在 Windows 上运行代码? -
@vince 如果您使用
build-path和explode-path,那么您的程序也会自动在 OS X 和 Linux 上运行。