У меня много строк. Каждая строка добавляется не менее 1 $
. Каков наилучший способ прокрутки символов каждой строки для подсчета количества $
для каждой строки.
например:
"$hello" - 1
"$$hello" - 2
"$$h$ello" - 2
У меня много строк. Каждая строка добавляется не менее 1 $
. Каков наилучший способ прокрутки символов каждой строки для подсчета количества $
для каждой строки.
например:
"$hello" - 1
"$$hello" - 2
"$$h$ello" - 2
Вы можете использовать метод Count
var count = mystring.Count(x => x == '$')
int count = myString.TakeWhile(c => c == '$').Count();
И без LINQ
int count = 0;
while(count < myString.Length && myString[count] == '$') count++;
Самый простой подход - использовать LINQ:
var count = text.TakeWhile(c => c == '$').Count();
Есть, конечно, более эффективные подходы, но, возможно, самые простые.
int count = yourText.Length - yourText.TrimStart('$').Length;
int count = Regex.Matches(myString,"$").Count;
Вы можете сделать это, это не требует LINQ, но это не лучший способ сделать это (поскольку вы делаете разделение всей строки и помещаете ее в массив и просто выбираете ее длину, вы можете лучше просто выполните цикл while
и проверьте каждый символ), но он работает.
int count = test.Split('$').Length - 1;
public static int GetHowManyTimeOccurenceCharInString(string text, char c)
{
int count = 0;
foreach(char ch in text)
{
if(ch.Equals(c))
{
count++;
}
}
return count;
}
var str ="hello";
str.Where(c => c == 'l').Count() // 2
Это аналогичное решение, чтобы найти, сколько адресов электронной почты включено в строку. Этот способ более эффективен
int count = 0;
foreach (char c in email.Trim())
if (c == '@') count++;
просто простой ответ:
public static int CountChars(string myString, char myChar)
{
int count = 0;
for (int i = 0; i < myString.Length; i++)
{
if (myString[i] == myChar) ++count;
}
return count;
}
Ура! - Рик
Один из подходов, который вы можете принять, - это следующий метод:
// Counts how many of a certain character occurs in the given string
public static int CharCountInString(char chr, string str)
{
return str.Split(chr).Length-1;
}
В соответствии с параметрами этот метод возвращает счетчик определенного символа в определенной строке.
Этот метод работает, разбивая строку на массив заданным символом и затем возвращая длину этого массива -1.