Regex для нахождения целого числа в строке

20
задан ΦXocę 웃 Пepeúpa ツ 11 December 2015 в 09:41
поделиться

2 ответа

Вы просите 0 или больше цифр. Необходимо попросить 1 или больше:

"\\d+"
50
ответ дан 29 November 2019 в 23:09
поделиться

Вот удобный пример, который я сделал для C # с обобщениями. Он будет соответствовать вашему регулярному выражению и возвращать нужные вам типы:

public T[] GetMatches<T>(string Input, string MatchPattern) where T : IConvertible
    {
        List<T> MatchedValues = new List<T>();
        Regex MatchInt = new Regex(MatchPattern);

        MatchCollection Matches = MatchInt.Matches(Input);
        foreach (Match m in Matches)
            MatchedValues.Add((T)Convert.ChangeType(m.Value, typeof(T)));

        return MatchedValues.ToArray<T>();
    }

тогда, если вы хотите получить только числа и вернуть их в виде массива string []:

string Test = "22$data44abc";
string[] Matches = this.GetMatches<string>(Test, "\\d+");

Надеюсь, это будет полезно для кого-то ...

0
ответ дан 29 November 2019 в 23:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: