Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/163: Рейтинг темы: голосов - 163, средняя оценка - 4.93
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316

Найти числа в строке

18.06.2019, 15:02. Показов 31536. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Пишу небольшую программу и появилась необходимость найти в строке с текстом найти числа и вывести их в label. Всё бы было просто, если бы цифры имели всегда одинаковую длину, то я бы их просто вырезал Substring, но нет каждый раз числа могу быть разных размеров, допустим, пример строк:
В строке есть числа 234 2222 2 43;
В строке есть числа 24 222256 21 243
В строке есть числа 4 22 2 4333
Подскажите, пожалуйста, как их можно вытащить из строчки?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.06.2019, 15:02
Ответы с готовыми решениями:

Найти все числа в строке и вывести каждое число в отдельной строке (ошибка в коде)
Помогите пожалуйста с кодом. Задание такое: Найти все числа в строке, каждое число вывести в отдельной строке. Даже представления не имею...

Вывести строку из файла. Найти все целые числа, находящиеся в строке. Найти сумму этих чисел
Помогите, пожалуйста, с задачей на паскале. Необходимо вывести строку из файла. Найти все целые числа, находящиеся в строке. Найти сумму...

Найти определенные числа в строке
сделайте программу чтобы найти хорошие числы и плохие так понимаю но паскаль не работает...

13
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
18.06.2019, 15:18
C#
1
2
            string str = "В строке есть числа 24 222256 21 243";
            Console.WriteLine(str.Where(x => Char.IsDigit(x)).ToArray());
0
4 / 3 / 1
Регистрация: 11.04.2016
Сообщений: 13
18.06.2019, 15:19
C#
1
2
string str = "24 222256 21 243";
str.Split(' ');
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
18.06.2019, 15:23  [ТС]
Immo, а как можно каждое отдельное число записать в отдельный label?
0
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
18.06.2019, 15:36
C#
1
2
string[] strarr = "В строке есть числа 24 222256 21 243".Split(' ');
            string[] resultarr = strarr.Where(x => Regex.IsMatch(x, @"^\d+$")).ToArray();
Добавлено через 2 минуты
ну как присвоить я думаю не составит труда
C#
1
label1.Text = resultarr[элемент];
2
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
18.06.2019, 16:10  [ТС]
Immo, Клёво, действительно работает, только я забыл указать, что в конце строки ставится \r\n и оно не видит последнее число. И также подскажите, пожалуйста, что означает @"^\d+$?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
18.06.2019, 16:19
Цитата Сообщение от MAKC13 Посмотреть сообщение
только я забыл указать, что в конце строки ставится \r\n и оно не видит последнее число
C#
1
2
3
char[] separtors = " \r\n\"'".ToCharArray(); // Строка сепараторов
string[] strarr = "В строке есть числа 24 222256 21 243".Split(separtors);
string[] resultarr = strarr.Where(x => int.TryParse(x, out int _tmp))).ToArray();
Добавлено через 2 минуты
C#
4
int[] intarr = resultarr.Select(int.Parse).ToArray(); /// Числовой массив
1
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
18.06.2019, 16:28  [ТС]
Элд Хасп, подскажите, пожалуйста, а где взять out int _tmp?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
18.06.2019, 16:35
Цитата Сообщение от MAKC13 Посмотреть сообщение
подскажите, пожалуйста, а где взять out int _tmp?
Нигде. Это временная переменная. Необходима для работы метода TryParse. Она создаётся и сразу уничтожается.

Добавлено через 2 минуты
Там скобка, по-моему лишняя.
Писал здесь - не заметил.
C#
3
string[] resultarr = strarr.Where(x => int.TryParse(x, out int _tmp)).ToArray();
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
18.06.2019, 16:35
MAKC13, нигде, там же скобка только лишняя. в этом месте _tmp)))
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
18.06.2019, 16:36
C#
1
2
var str = "В строке есть числа 24 222256 21 243";
var result = Regex.Matches(str,@"\d+").Cast<Match>().Select(x=>int.Parse(x.ToString)).ToArray();
на выходе массив чисел
0
2 / 2 / 0
Регистрация: 05.12.2013
Сообщений: 316
18.06.2019, 16:40  [ТС]
Элд Хасп, всё равно ругается на int _tmp, пишет будто бы нет такой переменной.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
18.06.2019, 16:54
Лучший ответ Сообщение было отмечено MAKC13 как решение

Решение

либо используй fw 4.5+, либо
C#
1
2
int _tmp;
string[] resultarr = strarr.Where(x => int.TryParse(x, out _tmp)).ToArray();
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
18.06.2019, 17:14
Цитата Сообщение от MAKC13 Посмотреть сообщение
ругается на int _tmp, пишет будто бы нет такой переменной.
out не пропустили спереди?

Добавлено через 1 минуту
Если FW старый, то сделайте как в посте #13 от Diamante.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.06.2019, 17:14
Помогаю со студенческими работами здесь

Найти все числа в строке
Дается строка S.Нужно посчитать все числа которые встречаются в ней. Пример входных dsdfsd11dsfs2sdfs5. Выходных 3 т. к 11, 2, 5. ...

Найти все числа в строке
Есть текст вида: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaa&lt;b&gt;&lt;font size=3 face=Arial&gt;120&lt;/font&gt;&lt;/b&gt;aaaaaaaaaaaaaaaaaaaa ...

Найти одинаковые числа в строке
Есть два числа через запятую, надо что бы находились только равные числа Например 222,222, но не 222,223 var s = 255,255 var re2 =...

Найти позицию числа в строке
Есть ли какая хитрая возможность найти двузначные числа в строке, может regex какой хитрый или что-то подобное ? Я конечно могу тупо...

Как в строке найти целые числа
Здраствуйте . В java новичок, поэтому есть вопрос.Скажите как из строки найти целые числа.И записать их в массив int a .(если не затруднит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru