C# 从右到第一个空间修剪

C# 从右到第一个空间修剪,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,可以从字符串的左侧修剪到第一个空格吗。 因此model.ProductRecord\u Name返回字符串4-Mars 因此,不是model.ProductRecord\u Name=model.ProductRecord\u Name.Trim 是否有类似于: model.ProductRecord_Name = model.ProductRecord_Name.TrimFromRightToFirstSpace 这可能吗?string.trimpstart从左侧开始修剪。将4火星修剪为4火

可以从字符串的左侧修剪到第一个空格吗。 因此model.ProductRecord\u Name返回字符串4-Mars 因此,不是model.ProductRecord\u Name=model.ProductRecord\u Name.Trim

是否有类似于:

model.ProductRecord_Name = model.ProductRecord_Name.TrimFromRightToFirstSpace
这可能吗?

string.trimpstart从左侧开始修剪。将4火星修剪为4火星

string.TrimEnd用于从右侧修剪。将4火星修剪为4火星

线。修剪用于修剪左侧和右侧。将4-Mars修剪为'4-Mars'

是否有类似于:

model.ProductRecord_Name = model.ProductRecord_Name.TrimFromRightToFirstSpace
我会说不

一种可以执行您可能需要的操作的方法,不确定您是要向右还是向左

剩下的是:

    public string TrimFromLeftToFirstSpace(string s)
    {
        return s==null || s.IndexOf(' ')==-1
            ? s 
            : String.Join(" ", s.Split(' ').Skip(1).ToArray());
    }
这是正确的:

    public string TrimFromRightToFirstSpace(string s)
    {
        if (s == null || s.IndexOf(' ') == -1)
            return s;

        var split = s.Split(' ');
        return String.Join(" ", s.Take(split.Length-1).ToArray());
    }
我想正则表达式更适合这份工作

这应该有点像一个雷格斯忍者

^?:[^\s]*\s*?:[^\s]*$用于右侧修剪

^?:[^\s]*\s?*$用于左修剪


第一组捕获的结果不清楚你在问什么。你可以使用substring不清楚你在问什么,请给出具体的例子在第一个空白之前你是什么意思?你在寻找修剪函数的逆函数吗?请给出函数前后字符串的示例。indexOf和subString的组合在Java中可以做到这一点,我猜在C中也是一样。我怀疑OP根本不想修剪,因为第一个空格和示例字符串4-Mars已经修剪过了:令人困惑的@oerkelens我不知道OP当时想说什么..我认为评论表明这个问题让大多数人困惑:在某种程度上@oerkelens他想要修剪它只从字符串的左边开始,然后他说只修剪右边直到第一个空格,我相信他的意思是直到第一个非空字符。他似乎不像我那样以英语为母语