在读取第一个和最后一个字母后,用c#解析字符串

本文关键字:字符串 第一个 读取 最后一个 | 更新日期: 2023-09-27 18:13:57

我想在c#中读取第一个和最后一个字母后剪切字符串。

string name = "20150910000549659ABCD000007348summary.pdf";

string result = "ABCD000007348"; // Something like this
string name = "1234 ABCD000007348 summary.pdf";

读了1234"A"来了,最后"s"来了,所以我想要"ABCD000007348"

在读取第一个和最后一个字母后,用c#解析字符串

使用Regex:

string CutString(string input)
{
     Match result = Regex.Match(input, @"[a-zA-Z]+[0-9]+");
     return result.Value;
}

由于您没有说它是否总是在开始时的时间戳,因此我选择遍历字符串以找到第一个字母字符,而不是硬编码s.Remove(0, n);,其中n是时间戳中的多少个数字。

string s = "20150910000549659ABCD000007348summary.pdf";
s = s.Replace("summary.pdf", String.Empty);
int firstLetter = 0;
foreach (char c in s)
{
    if (Char.IsLetter(c))
    {
        firstLetter = s.IndexOf(c);
        break;
    }
}
s = s.Remove(0, firstLetter);