字符串中字符前的前导空格 - 计算前缀空格
本文关键字:空格 计算 前缀 字符 字符串 | 更新日期: 2024-11-08 11:41:09
我有一个字符串
-123
我需要得到 2 作为计数。
-12& 3
我需要得到 4 作为计数。(在这种情况下,我想要 3 个,即在"-"之前有空格)。
我使用的代码是
stringValue.Count(countSpace => countSpace == ' ');
如何通过约束检查,即。在这种情况下,"-"破折号并获取"-"破折号之前和"-"之后的空格。
假设有一个或零个破折号,这将起作用:
public static int CountSurroundingSpaces(string stringValue, char constraint)
{
return stringValue.SkipWhile( c => c != constraint)
.Skip(1)
.TakeWhile( c => c == ' ')
.Count() +
stringValue.Reverse()
.SkipWhile( c => c != constraint)
.Skip(1)
.TakeWhile( c => c == ' ')
.Count();
}
您可以使用 TrimStart() 方法获取不带尾随空格的原始字符串,然后计算原始字符串和修剪后的字符串长度之间的差异:
stringValue.Length - stringValue.TrimStart().Length
编辑
要计算由某个分隔符分隔的字符串中的空格数,请尝试以下操作:
static IEnumerable<int> GetSpaceCounts(string stringValue, char separator)
{
return stringValue.Split(separator).Select(s => s.Count(c => c == ' '));
}
要测试此代码,您可以使用:
string stringValue = " -123 12- ";
foreach (int i in GetSpaceCounts(stringValue, '-'))
Console.WriteLine(i);
Console.ReadLine();