2015-12-09 6 views
2

Я пытаюсь проверить, содержит ли моя метка только часть из строки. Скажем, в моем Label.Text у меня есть «Food: 100» отсюда, я хочу проверить, содержит ли он питание, и после этой подстроки вырезать первые 7 цифр (включая пробелы) и просто получить номер 100, как я могу сделай это ? Правильно ли это? Любая помощь приветствуетсяКак проверить, содержит ли Label часть строки

Я пытался сделать это с помощью LINQ, но оно не работает, так как его этикетке

if (status.Text.Any(x => x.Contains("Food"))) 
{ 
     //do somne work  
} 
+0

'Это правильный подход?' Вы даже не показать, что вы уже пробовали – Neijwiert

ответ

1

Это будет вариант, как решить эту проблему. Но вместо использования Substring() я использовал Remove().

var labelText = Label.Text; 
var foodValue = ""; 

if(labelText.Contains("Food")) 
    foodValue = labelText.Remove(0,7); 

После этого код выполняется, вы можете найти значение 100 в foodValue.

+0

точка меня, если я ошибаюсь, но .Contains() является, если проверка целая строка == «Пища» не только ее часть –

+0

Содержит, ищет всю строку, чтобы найти подходящую подпрограмму «food». Итак, какова ваша точка dB.Employee? равный очень сильно отличается от Содержит. Это просто английский, этот чай содержит сахар ... – Undisputed007

+0

@ dB.Employee Не просто часть его. Это тоже соответствует: «FoodProductionSite». – Neijwiert

0

Может также использовать Regex

var labelText = Label.Text; 
var foodValue = string.Empty; 
var regx = new Regex(@"^Food\s*:\s*(\d*)\s*$"); 

var result = regx.Match(labelText); 
if (result.Success) 
{ 
    foodValue = result.Groups[1].Value; 
} 
Смежные вопросы