|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Здравствуйте. При обработке данных физ. эксперимента столкнулась со следующей задачей: необходимо из массива строк выделить отдельно 5-й столбец. Мне советовали вырезать по пробелам...Не могу понять, как это сделать. Собрала форму, прилагаю кусок кода, в который хотела ухитриться уместить этот цикл и пример таблицы (собсно уже в частично работающей форме). Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
Модератор: Учимся использовать тэги оформления кода - FAQ Модератор: Тема перенесена из форума "Visual Basic". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:00 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Образец обрабатываемых данных нам самим придумать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:04 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Прошу прощения, не прикрепила сразу. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:06 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Нужно а) удалить все задвоения пробелов в строке б) превратить строку в массив с помощью Split d) извлечь пятый элемент ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:08 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Shocker.ProНужно а) удалить все задвоения пробелов в строке б) превратить строку в массив с помощью Split А зачем удалять задвоения пробелов перед Split? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:09 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
skyANAА зачем удалять задвоения пробелов перед Split? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:15 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
ну да, вариант StringSplitOptions.RemoveEmptyEntries ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:16 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Shocker.Proну да, вариант StringSplitOptions.RemoveEmptyEntries ну да https://msdn.microsoft.com/en-US/library/ms131448(v=vs.110).aspx]String.Split Method (Char[], StringSplitOptions) StringSplitOptions.RemoveEmptyEntries to omit empty array elements from the array returned; or StringSplitOptions.None to include empty array elements in the array returned. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:24 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Если это текст с разделителем "пробел", то не надо удалять задвоения пробелов. Два пробела подряд означают что между ними пустая строка. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:33 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Dima TЕсли это текст с разделителем "пробел", то не надо удалять задвоения пробелов. Два пробела подряд означают что между ними пустая строка.загляни в приложенный файл - там форматирование пробелами, а не разделитель пробел ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:37 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Shocker.ProDima TЕсли это текст с разделителем "пробел", то не надо удалять задвоения пробелов. Два пробела подряд означают что между ними пустая строка.загляни в приложенный файл - там форматирование пробелами, а не разделитель пробел Не заметил что файл дали. Там выровнено пробелами. Надо просто вырезать подстроку из 6 символов начиная с 16-го. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:46 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Dima TНадо просто вырезать подстроку из 6 символов начиная с 16-го.это плохой совет. Мы не знаем, как формируется файл, возможно, он может выглядеть иначе при увеличении значности какого-нибудь из столбцов. Split будет гораздо универсальнее (хотя, возможно непринципиально, медленнее) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:50 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Если надо разово, то проще файл переименовать в TXT и экселем открыть как с колонками фиксированной ширины. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 10:58 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Dima T, Таких таблиц довольно много. Минимум 365. Не знаю, подойдет ли тут разовый рецепт. Пробую со сплитом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 11:02 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Любую программу можно усложнить с помощью регулярных выражений! Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 11:07 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Shocker.ProDima TНадо просто вырезать подстроку из 6 символов начиная с 16-го.это плохой совет. Мы не знаем, как формируется файл, возможно, он может выглядеть иначе при увеличении значности какого-нибудь из столбцов. Split будет гораздо универсальнее (хотя, возможно непринципиально, медленнее) Не согласен. Описание формата нет, поэтому приходится гадать. В данном случае я вижу текст с колонками фиксированной ширины. Если так, пробелов между значениями может вообще не быть. Например колонка 6 символов и и значение 6. В конкретном примере только числа, а в общем случае могут быть строки как с пробелами внутри, так и пустые. И тут Split() будет вообще не в тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 11:41 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Shocker.Proвозможно, он может выглядеть иначе при увеличении значности какого-нибудь из столбцов Возможно нет, как выше написал - просто исчезнет пробел. Чтобы не гадать - для данного случая я бы посоветовал добавить контроль количества значений, т.е. прочитали строку, разбили на значения и после проверка что в результате ровно 15 значений. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 11:46 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
EspadaLioDima T, Таких таблиц довольно много. Минимум 365. Можно сначала объединить в один файл, затем с ним работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 11:51 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Dima TEspadaLioDima T, Таких таблиц довольно много. Минимум 365. Можно сначала объединить в один файл, затем с ним работать.тогда можно вообще тупо в эксель импортировать и копирнуть пятый столбец и не писать никаких программ )) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 11:56 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Shocker.ProDima Tпропущено... Можно сначала объединить в один файл, затем с ним работать.тогда можно вообще тупо в эксель импортировать и копирнуть пятый столбец и не писать никаких программ )) Я это и предлагал 19045946 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 11:58 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Cat2, Опишите пожалуйста подробнее как правильно их включить в код, не могу разобраться в ошибках, которые вылазят. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 05:36 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Shocker.Pro,Можно ли еще раз вас побеспокоить. При работе приведенного кода возникает ошибка необработанного исключения (объект не должен быть нулевым). Как это грамотно обработать? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Я все-таки пишу это приложение, так как объем данных большой, далее этот столбец нужно будет преобразовывать в строку и выполнять Фурье-преобразование. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 10:31 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
EspadaLioShocker.Pro,Можно ли еще раз вас побеспокоить. При работе приведенного кода возникает ошибка необработанного исключения (объект не должен быть нулевым). Как это грамотно обработать? Проверить что записалось в strLine прежде чем использовать. https://msdn.microsoft.com/ru-ru/library/system.io.streamreader.readline(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2 StreamReader.ReadLine - метод () Возвращаемое значение Type: System.String Следующая строка из входного потока или значение null , если достигнут конец входного потока. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 10:43 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Судя по примерам с MSDN надо заменить Код: c# 1.
на Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 10:50 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Dima T, Спасибо, ошибка исчезла. Пустые строки возникают из-за задвоенных пробелов? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 11:45 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Dima T, Объявила внутри класса функцию Код: vbnet 1. 2. 3. 4.
Использовала ее внутри цикла Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Компиляция проходит успешно, открываю файл для чтения и окно приложения виснет напрочь. В чем может быть причина? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 08:28 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
EspadaLioDima T, Объявила внутри класса функцию Код: vbnet 1. 2. 3. 4.
Меняем пробел на пробел, пока есть пробел. Почему бы и не повиснуть ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2016, 08:38 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Pallaris, Упс. Точно. Но я уже придумала другое решение: у меня проблема-то в том, что лишние строки выводятся из-за пробелов. Вставила перед выводом проверку на пустоту: Код: vbnet 1. 2. 3.
Пустые строки исчезли) Осталось пятый столбец извлечь и задача решена. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2016, 10:07 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Pallaris, И вот тут помощь нужна очень скорая, сроки поджимают( ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 08:49 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
EspadaLioPallaris, И вот тут помощь нужна очень скорая, сроки поджимают( Чтобы извлечь только один элемент, здесь следует заменить ровно два символа и убрать одну строчку. Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 09:27 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Pallaris, Не один, а пятый столбец приложенной ранее таблицы. Я понимаю что можно извлечь s(5). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 09:45 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
И что, не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 09:49 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
Pallaris, Нет, не работает. Прикреплю то, что есть, посмотрите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 10:14 |
|
Вырезание нужных данных из массива строк.
|
|||
---|---|---|---|
#18+
А ошибка какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2016, 10:25 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1400571]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 165ms |
0 / 0 |