C# 如何使字符串只包含X个字符和特定字符?

C# 如何使字符串只包含X个字符和特定字符?,c#,C#,我不知道你是否明白我想解释的。。。(英语不是我的主要语言) 这里,我得到了这个字符串和这个字符串,不管字符串有多长,我唯一想要的部分是最后八个字符,如下所示:CBC145FA6EC5CA9A。590和F对我来说已经过时了,比如:!sZV)+D_?CEFZEZAF=CEFZ!Z#F 我尝试使用serial.Substring(3)仅适用于第一个:590CBC145FA=CBC145FA 如果我尝试使用serial.Substring(1)它适用于F6EC5CA9A=6EC5CA9A 但如果我得到一

我不知道你是否明白我想解释的。。。(英语不是我的主要语言)

这里,我得到了这个字符串和这个字符串,不管字符串有多长,我唯一想要的部分是最后八个字符,如下所示:
CBC145FA
6EC5CA9A
590
F
对我来说已经过时了,比如:
!sZV)+D_?CEFZEZAF
=
CEFZ!Z#F

我尝试使用
serial.Substring(3)仅适用于第一个:
590CBC145FA
=
CBC145FA

如果我尝试使用
serial.Substring(1)它适用于
F6EC5CA9A
=
6EC5CA9A

但如果我得到一个很长的字符串,我不知道有多少过时的部分是。。。我不能使用
serial.Substring(X)
我只想得到任何序列的最后八个字符,不管它有多长。

你想得到任何序列的最后八个字符,不管它有多长

您只需要发现字符串结尾前第8个字符的索引。使用每个字符串的长度属性可以很容易地计算出来

当然,您需要确保您的字符串至少为8个字符。如果这个长度小于8,你不会说你想要什么,所以我假设你想要回原始输入,你想要得到任何序列的最后八个字符,不管它有多长

您只需要发现字符串结尾前第8个字符的索引。使用每个字符串的长度属性可以很容易地计算出来


当然,您需要确保您的字符串至少为8个字符。如果这个长度小于8,您不会说您想要什么,所以我假设您想要返回原始输入

可能是
EndsWith
?尝试搜索
字符串
文档()?尝试搜索
字符串
文档()
string test = "F6EC5CA9A";
string result = test;
if (test.Length >= 8)
    result = test.Substring(test.Length-8);