我想从下面的示例字符串中提取粗体字符。模式如下:
ChunkOfAlphabets_ChunkOfDigits_CharIWant_ChunkOfDigits_CharIDontCare
“ ABC12A1234D”
“ ABCD34B5678E”
“ EF34C9101F”
我想出了以下代码。似乎工作正常,但我想知道是否有更有效的方法,也许使用正则表达式?
char extractString(string test)
{
bool isDigit = false;
foreach(var c in test)
{
if (isDigit && !char.IsDigit(c))
return c;
isDigit = char.IsDigit(c);
}
return '0';
}
最佳答案
如果您使用的是C#LINQ,则会更轻松,性能更高(正则表达式会涉及很多开销):
static char ExtractString(string test)
{
return test.SkipWhile(c => Char.IsLetter(c))
.SkipWhile(c => Char.IsDigit(c))
.FirstOrDefault();
}
关于c# - 从字符串中提取字符(正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36685918/