Как найти строку, которая содержит два числа с символом между ними - PullRequest
0 голосов
/ 04 мая 2020

Я хочу найти шаблон, который содержит два положительных целых числа с символом% или - между ними в строке. Давайте рассмотрим строку «Приветственный_3% 5». Здесь мы видим из строки два числа 3 и 5, имеющих знак% между ними. Я хочу найти строку, имеющую часть из двух чисел со знаком «%» или «-» между ними.

Ответы [ 2 ]

1 голос
/ 04 мая 2020

Вы можете использовать регулярные выражения для этого. И вы даже можете извлечь целочисленные значения с помощью Regex:

var input = "Приветственный_32%50";
var searchPattern = @"(\d+)[%-](\d+)";

var matches = Regex.Matches(input, searchPattern);

if (matches.Count == 1) {

    // A single occurence of this pattern has been found in the input string.
    // We can extract the numbers from the Groups of this Match.
    // Group 0 is the entire match, groups 1 and 2 are the groups we captured with the parentheses
    var firstNumber = matches[0].Groups[1].Value;
    var secondNumber = matches[0].Groups[2].Value;
}

Объяснение шаблона Regex:

(\d+) ==> matches one or more digits and captures it in a group with the parentheses.
[%-]  ==> matches a single % or - character
(\d+) ==> matches one or more digits and captures it in a group with the parentheses.
0 голосов
/ 04 мая 2020

создайте простую функцию, которая выполняет следующие шаги:

  1. l oop бросает весь текст, так как вы хотите проверить все
  2. , если текущий символ является ди git получите полное число, например, 123, вам нужно будет извлечь все, прежде чем перейти к этапу 3.
  3. , если% или - следующий символ после числа, а следующий символ di git
  4. извлечь второе число
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...