У меня есть длинная строка «AB100123485; AB10064279293-IP-1-KNPO; AB473898487-MM41». Я должен извлечь целочисленное значение после "IP-", т.е. 1 (только), что является наиболее эффективным способом? Я использую c #
Спасибо
«Самый эффективный» способ зависит от того, насколько последовательна ваша строка с точки зрения длины и внешнего вида. Вы, конечно, можете сделать это с помощью регулярного выражения в качестве быстрого решения, если вы просто хотите получить цифру непосредственно после 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];при необходимости уточните его в соответствии с вашим вариантом использования.
IP-[0-9]
Например:
Match matched = System.Text.RegularExpressions.Match( "AB100123485;AB10064279293-IP-1-KNPO;AB473898487-MM41", "IP-[0-9]" );