2016-01-29 3 views
1

VS 2015, C#. У меня есть строка ...Как извлечь строку из строки в C#

string str = "Name;IPAddress"; 

Я хочу, чтобы извлечь только IPaddress. Я подозреваю, что Regex - лучший способ сделать это, но я не уверен.

Любая помощь очень ценится.

+2

Вы что-нибудь дали? Как насчет 'string.Split' на'; ', а затем захватить второй элемент результирующего массива? –

+1

Вы должны использовать [String.Split] (https://msdn.microsoft.com/en-us/library/b873y76a (v = vs.110) .aspx) –

+0

Вы пытались использовать «пример регулярного выражения C#»? – Rodolfo

ответ

3

Вы можете использовать Split

string str = "Name;IPAddress"; 
string[] both = str.Split(';'); 
string name = both[0]; 
string ipadd = both[1]; 
+0

Вау! Расскажите о быстром ответе! Спасибо Мохит. Вставьте его и попробуйте. –

+0

Отлично. Спасибо Mohit/ –

+0

Привет @ user2660121 если этот или любой ответ решил ваш вопрос, пожалуйста, рассмотрите [его принятие] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) щелкнув галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. Это не обязательно. –

0

Почему вы думаете Regex это лучший способ? Вы также хотите проверить имя и IP-адрес?

string sInput = "John;127.0.0.1"; 
string[] arrNameAndIP = sInput.Split(';'); 

bool bIsInputValid = false; 
if(arrNameAndIP.Length == 2) 
{ 
    Regex rgxNamePattern = new Regex("^[A-za-z]+$"); 
    bool bIsNameValid = rgxNamePattern.IsMatch(arrNameAndIP[0]); 

    IPAddress ipAddress; 
    bool bIsIPValid = IPAddress.TryParse(arrNameAndIP[1], out ipAddress); 
    bIsInputValid = bIsNameValid && bIsIPValid; 
} 
Смежные вопросы