比如,我要Delphi取到此处的字符名称,有啥直接的方法或函数?
X:\Tools\1.大白补丁\Baymax Patch Tools v2.9.7.5\Baymax.exe
似乎利用这些都得经过 替换 或 删减,并不直接。
正则表达式分组匹配倒数的 那个 我还不会用{:301_974:}
var s: TArray<string> := string('X:\Tools\1.大白补丁\Baymax Patch Tools v2.9.7.5\Baymax.exe').Split(['\']);
ShowMessage(s); 我一般是倒查两个\,然后取到开头和长度,截取一下 本帖最后由 冥界3大法王 于 2024-9-28 11:12 编辑
sail2000 发表于 2024-9-28 10:40
var s: TArray := string('X:\Tools\1.大白补丁\Baymax Patch Tools v2.9.7.5\Baymax.exe').Split(['\']) ...是不是这么解释:
定义一个叫S的数组字符串
用'\'来分割
后面(s从哪到哪解释不好。
但我测试
ShowMessage(s);
ShowMessage(s);
ShowMessage(s);
ShowMessage(s);
就分别取到了不同\之间的地方 本帖最后由 lies2014 于 2024-9-28 13:14 编辑
复杂点的:
s := 'X:\Tools\1.大白补丁\Baymax Patch Tools v2.9.7.5\Baymax.exe';
t := copy(s, copy(s, 0, s.LastIndexOf('\')).LastIndexOf('\')+2, s.LastIndexOf('\')-copy(s, 0, s.LastIndexOf('\')).LastIndexOf('\')-1);
ExtractFileName('X:\Tools\1.大白补丁\Baymax Patch Tools v2.9.7.5\Baymax.exe') 一般都是取得整串的长度,轮询查找/,找到最后两个的长度,做差截取 蒋德盼 发表于 2024-9-28 16:53
ExtractFileName('X:\Tools\1.大白补丁\Baymax Patch Tools v2.9.7.5\Baymax.exe')
这倒提醒我了,最简单的办法:
s := 'X:\Tools\1.大白补丁\Baymax Patch Tools v2.9.7.5\Baymax.exe';
t := ExtractFileName(ExtractFileDir(s));
页:
[1]