Regex или IndexOf? - PullRequest
       65

Regex или IndexOf?

0 голосов
/ 21 октября 2019

У меня есть длинная строка «AB100123485; AB10064279293-IP-1-KNPO; AB473898487-MM41». Я должен извлечь целочисленное значение после "IP-", т.е. 1 (только), что является наиболее эффективным способом? Я использую c #

Спасибо

1 Ответ

0 голосов
/ 21 октября 2019

«Самый эффективный» способ зависит от того, насколько последовательна ваша строка с точки зрения длины и внешнего вида. Вы, конечно, можете сделать это с помощью регулярного выражения в качестве быстрого решения, если вы просто хотите получить цифру непосредственно после IP -.

Вы можете использовать API RegularExpressions, передавая ваше регулярное выражение и входную строку.

https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex.match?view=netframework-4.8#System_Text_RegularExpressions_Regex_Match_System_String_System_String_

Этот шаблон должен помочь вам начать IP-[0-9];при необходимости уточните его в соответствии с вашим вариантом использования.

Например:

Match matched = System.Text.RegularExpressions.Match(
    "AB100123485;AB10064279293-IP-1-KNPO;AB473898487-MM41", 
    "IP-[0-9]"
);
...