Assuming the input can contain the following categories:
- nulls
- Empty strings
- Strings with only alphabetical characters
- Strings with mixed alphabetical and numerical characters
- Strings with only numerical characters
You want to introduce a method that extracts the number, if any, or returns a meaningful value if not:
private static int? ParseStringContainingNumber(string input)
{
    if (String.IsNullOrEmpty(input))
    {
        return null;
    }
    var numbersInInput = new String(input.Where(Char.IsDigit).ToArray());
    if (String.IsNullOrEmpty(numbersInInput))
    {
        return null;
    }
    int output;
    if (!Int32.TryParse(numbersInInput, out output))
    {
        return null;
    }
    return output;
}
Note that not all characters for which Char.IsDigit returns true can be parsed by Int32.Parse(), hence the TryParse.
Then you can feed your list to this method:
var parsedInts = testData.Select(ParseStringContainingNumber)
                         .Where(i => i != null)
                         .ToList();
And do whatever you want with the parsedInts list, like calling IEnumerable<T>.Max() on it.
With the following test data:
var testData = new List<string>
{
    "۱", // Eastern Arabic one, of which Char.IsDigit returns true.
    "123",
    "abc456",
    null,
    "789xyz",
    "foo",
    "9bar9"
};
This returns:
123
456
789
99
Especially note the latest case.