c# - 从字符串中删除最后一个正斜杠和尾随字符的简写方法

标签 c# string

如果我有以下字符串:

/lorem/ipsum/dolor

我希望它变成:

/lorem/ipsum

删除最后一个正斜杠及其后所有字符的简写方法是什么?

我知道如何通过将字符串拆分为 List<> 来做到这一点并删除最后一项,然后加入,但是有没有更短的写法?

我的问题特定于 URL。

最佳答案

您可以使用 Substring()LastIndexOf():

str = str.Substring(0, str.LastIndexOf('/'));

编辑(建议的评论)
为防止字符串可能不包含 / 时出现任何问题,您可以使用如下内容:

int lastSlash = str.LastIndexOf('/');
str = (lastSlash > -1) ? str.Substring(0, lastSlash) : str;

将位置存储在临时变量中可以避免调用 .LastIndexOf('/') 两次,但可以放弃它以支持单行解决方案。

关于c# - 从字符串中删除最后一个正斜杠和尾随字符的简写方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12936804/

相关文章:

c# - C#获取客户信息

c# - Task.WhenAny - 剩余的运行任务会怎样?

c# - 非异步执行路径能否在 "async"方法中返回同步结果

c# - Linq 或 Tsql 'Pivot'

java - 如何防止将类似字符写入字符串?

JavaScript:我们是否总能像索引数组一样索引字符串?

c# - 使用 SQL 批量复制插入约 370 万行会引发 OutOfMemory 异常

c - 简单字符串反转算法的意外结果

自定义模板的 Javascript 字符串替换器

python - 根据分隔符后的字符分割字符串 - python