从第一个字母中提取子字符串

时间:2016-02-13 01:29:56

标签: c# string

我需要从字符串中提取子字符串,但从第一个字母开始

示例

string s1 = "12 x 13 ABC 12@ 15.8" substring =  ABC 12@ 15.8
string s2 = "25 x 32 FER @23.8" substring =  FER @23.8

我尝试了字母A或F的索引,但它没有工作

感谢

3 个答案:

答案 0 :(得分:1)

这应该有用(如果你使用非字母字符而不是x

string SubstringThis(string input)
{
  return new string(input.SkipWhile(c => !char.IsLetter(c)).ToArray());
}    

答案 1 :(得分:0)

简单的实用功能:

string SubstringFromFirstLetter(string s)
{
    for (int i=0; i < s.Length; ++i)
    {
        if (char.IsLetter(s[i]))
        {
            return s.Substring(i);
        }
    }
    return "";
}

请注意,x是一封信。你想要它只匹配大写字母吗?

答案 2 :(得分:0)

public static string GetSubstringStartingWithFirstAlphaCharacter(this string toEvaluate)
        {
            const string pattern = "([a-zA-Z])(.+)";

            var regex = new Regex(pattern);

            return regex.Match(toEvaluate).Value;
        }