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

C#如何删除字符串中最后一个下划线及后续数字并保留原文件后缀

实现方案

你可以用C#内置的System.IO.Path类处理文件名后缀,避免手动拼接扩展名,核心逻辑是先拆分文件名和后缀,处理完文件名部分再拼回原后缀即可。

可直接运行的代码示例:

using System.IO;

// 测试用文件名
string test = "studentName_123.pdf";
// 提取原文件扩展名(包含前缀点,例如.pdf/.docx/.png)
string fileExt = Path.GetExtension(test);
// 提取不带扩展名的纯文件名部分(例如studentName_123)
string pureName = Path.GetFileNameWithoutExtension(test);
// 查找纯文件名中最后一个下划线的位置
int lastUnderlinePos = pureName.LastIndexOf('_');

string finalName;
// 兼容文件名不含下划线的边界场景
if (lastUnderlinePos >= 0)
{
    finalName = pureName.Substring(0, lastUnderlinePos) + fileExt;
}
else
{
    // 没有下划线时直接返回原文件名
    finalName = test;
}

上面的代码可以适配任意格式的文件后缀,不需要手动硬编码扩展名,同时兼容没有下划线的异常场景,避免Substring抛出索引越界错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:06:03