You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何高效移除字符串中最后一个反斜杠\之前的所有字符?

高效提取字符串中最后一个反斜杠及其后的内容

核心思路是找到字符串中最后一个\的位置,从该位置开始截取到字符串末尾,这种方法时间复杂度为O(n),是最高效的实现方式,避免了正则或字符串分割带来的额外开销。

C# 实现

针对Windows路径场景,使用原生字符串方法实现:

string input = @"C:\Users\vadym\OneDrive\Робочий стіл\sharp-kn3-lab2-2022-autoteam\AutoOA\AutoOA.UI\wwwroot\Images\room.png";
int lastBackslashIdx = input.LastIndexOf('\\');
string output = lastBackslashIdx >= 0 ? input.Substring(lastBackslashIdx) : input;
// 输出结果:\Images\room.png

说明:LastIndexOf从字符串尾部反向查找第一个\的索引,找到后从该索引截取子串;如果没有找到反斜杠,直接返回原字符串。

Python 实现

input_str = r"C:\Users\vadym\OneDrive\Робочий стіл\sharp-kn3-lab2-2022-autoteam\AutoOA\AutoOA.UI\wwwroot\Images\room.png"
last_backslash_pos = input_str.rfind('\\')
output = input_str[last_backslash_pos:] if last_backslash_pos != -1 else input_str
# 输出结果:\Images\room.png

说明:rfind方法从右向左查找指定字符的位置,找到后通过切片获取目标子串;无反斜杠时返回原字符串。

关键提示

  • 优先使用原生字符串的反向查找方法,比正则表达式、字符串分割等方式内存占用更少、执行速度更快
  • 必须处理无反斜杠的边界情况,避免索引越界报错

内容的提问来源于stack exchange,提问作者nord_93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:20:41