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

C#如何移除字符串中第二个‘-’之后的所有内容

C# 截取第二个‘-’之前的字符串内容

针对你的需求,这里提供几种实用的实现方式:

方法一:Split分割后拼接

通过Split方法将字符串按'-'分割为数组,取前两个元素再用'-'连接,逻辑直观易懂:

string original = "P037315F1-FB12-40-Fully Threaded MSB HOT DIP GALVANIZED";
string[] parts = original.Split('-');
string result = parts.Length >= 2 ? $"{parts[0]}-{parts[1]}" : original;
// 输出结果:P037315F1-FB12

如果原字符串不足两个'-',直接返回原字符串避免报错。

方法二:IndexOf定位截取

通过两次IndexOf找到第二个'-'的位置,再截取子串,性能更优(无需分割整个字符串):

string original = "P037315F1-FB12-40-Fully Threaded MSB HOT DIP GALVANIZED";
int firstDashPos = original.IndexOf('-');
string result = original;

if (firstDashPos != -1)
{
    int secondDashPos = original.IndexOf('-', firstDashPos + 1);
    if (secondDashPos != -1)
    {
        result = original.Substring(0, secondDashPos);
    }
}
// 输出结果:P037315F1-FB12

方法三:正则表达式匹配

用正则匹配开头两个由'-'分隔的片段,适合更复杂的匹配场景:

using System.Text.RegularExpressions;

string original = "P037315F1-FB12-40-Fully Threaded MSB HOT DIP GALVANIZED";
Match match = Regex.Match(original, @"^[^-]+-[^-]+");
string result = match.Success ? match.Value : original;
// 输出结果:P037315F1-FB12

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:03:15