一道问倒GTP4o 128k的简单题,看看大家的解法

题:

cocos creater 的编辑器路径,打印出来是
E:\Work0827\GameClient\assets\Game001\Res\Prefab\Board.prefab

然后vscode里使用这种反斜杠的路径是没错误提示的

目:

使用TS怎么把
E:\Work0827\GameClient\assets\Game001\Res\Prefab\Board.prefab
转为
E:/Work0827/GameClient/assets/Game001/Res/Prefab/Board.prefab
禁止改为双斜杠后使用正则替换

反正目前全平台AI没一个能解答此题。

另外@官方

为什么资源加载都是正斜杠
但是编辑器打印出来是反斜杠
目的是什么?

要弄懂这个,你得好好理解一下 js代码文本中的字符串,内存中的字符串,打印出来的字符串有什么区别

你对字符串中的转义字符是毫无了解么……

先说斜杠,在 mac 上用的是/,比如/xxx/xxx/xxx.prefab,windows 上是\,所以 windows 上的路径就是 e:\xxx\xxx\xxx.prefab. 所以,我们显示路径filePath(这里说的是路径,是分平台的,windows 是\,mac是 /),保证这个路径是你复制完了可以直接帖到文件管理访问到的。
但是,资源在编辑器里面除了uuid 还可以是 URL,大概就是以 db://assets/xxx/xxx/xxx.prefab 为路径的,所以这部分是 windows 和 mac 统一的。
windows 引用要转义字符的事情,你可以自己查一查,应该很容易查到相关信息

1赞

明白了
url是代码用的
path是人用的

考虑的很好,是我唐突了