Работа со строками
- Войдите на сайт для отправки комментариев
Чт, 20/04/2017 - 12:33
Прошу помощи у знающих людей, для которых эта задача как "два пальца об асфальт" :)
Есть текстовая строка вида: 12#567#456#7#
Т.е. значения разделенные между собой символом #, значения могут быть как и текстовые так и числовые, и длина их тоже может быть разная. Как разбить эту строку на разные значения, чтобы получилось например в итоге что Т1=12,Т2=567,Т3=456 и Т4=7?
Как я это вижу:
1. Найти позицию символа # с помощью indexOf()
2. с помощью toCharArray() скопировать символы ДО данной позиции в буфер и запомнить в переменную Т1
3. с помощью substring() отбросить скопированные символы и запомнить строку без них
4. снова найти позицию символа # с помощью indexOf()\
5. Также с помощью toCharArray() скопировать символы ДО данной позиции в буфер и запомнить в переменную Т2
ну и так далее, т.е. каждый раз копируем всё до символа #, запоминаем это, отбрасываем и начинаем заново.
Я в операциях со строками очень туго разбираюсь, так что наверняка можно всё это сделать проще, вот и прошу совета как это сделать?
Ну, Вы сделайте как умеете, а там обсудим.
Если же совсем по уму хотите, то забудьте про класс String, а работайте с нормальным массивом символом. Для Вашей задачи погуглите примеры использования функции strtok
В общем так и не смог победить strtok. В итоге сделал по аналогии как тут
ну и зря.
Через часик другой попаду домой, попробую помочь вам.
Ну если не в тягость помочь, буду признателен. Я пытался разобраться по примеру из этой темы, но у меня проблема как у ТС, постоянно выдается первое значение, да к тому же еще и всё криво как-то. Вот пример:
Вот что сыпется в сериал:
я думаю этот пример можно взять за основу
Спасибо за ссылку. Ранее у меня почему-то это пример не работал, а сейчас заработал. Всем спасибо. Буду пробовать адаптировать его под свои нужды.
to ua6em 73!
to ua6em 73!
73! Gl! & vy DX!