Как искать указанное число в строке в целом - PullRequest
0 голосов
/ 06 апреля 2020

Мой английский sh не очень хорош, так что прости меня. Я хочу найти число в строке и получить следующий 1 символ. Например, число 6. Когда я ищу его, он находит число 6, но оно является частью числа 16. Я хочу найти число 6 в целом, а не часть другого числа.

for (int i = 0; i < 6; i++)
            {
                int i2 = i + 1;
                answer = readTxt;
                answer = answer.Replace(" ", String.Empty);
              //  MessageBox.Show(answer);
                answer = answer.Substring(answer.IndexOf(i2 + ".") + 2, 1); //Search for number and get the text next to it

                //add answers to listbox
                listBox1.Items.Add(answer);
                string answrLetter = listBox1.Items[i].ToString();
               }

Я хочу найти это число в переменной «answer». Содержимое переменной огромно, поэтому я не буду помещать ее здесь

1 Ответ

0 голосов
/ 06 апреля 2020

Вы можете go через string с помощью a для l oop и проверить, не является ли предыдущий символ числом с Char.IsNumber ( см. Документацию .) Чтобы проверить, является ли символ цифра c значение равно i2 используйте Char.GetNumericValue ( см. документацию .)

for (int j = 0; j < answer.Length - 1; j++)
{
    if ((j == 0 || !Char.IsNumber(answer, j - 1)) && Char.GetNumericValue(answer, j) == i2 && answer[j + 1] == '.')
        //you find i2 at position j, the previous character (if exists) is not a number, the next character is '.'
}
...