|
|
|
Алгоритм парсинга строки.
|
|||
|---|---|---|---|
|
#18+
Привет. Помогите написать алгоритм парсинга строки. Дан массив чисел a(i): 1, 2, 4, 7,10,11,17,22, 23,50, 55, 65, 100,1001, 1000000 Дано строка: "Data In ( 1, 4, 7,10,11,17,50, 55, 65, 100,1001) end data". Надо составить новый массии b(j) в который войдут только те числа из массива a(i), которые есть в строке. В данном случае это будет так b(j): 1, 4, 7, 10, 11, 17, 50, 55, 65, 100, 1001 Т.е. надо каждое число из строки запихнуть в массив. Я так пологаю, что наличие массива a(i) не обязательно, можно сразу в строке искать числа до запятой и каждое найденное запихивать в новый массив, но как быть с последним? И после запятое может быть пробел, а может и не быть его. А можно брать в цикле каждый элемент массива a(i) и проверять есть ли такое число в строке, но тогда a(0)=1 будут совпадать числа из строки 1,11,17,100,1001, а это не верно. Выслушаю ваши предложения или может кто решал подобную задачб, тогда можно и код в студию. P.S.: Количество чисел в строке всегда разное(от 1 до 1000000), числа не повтаряются и идут по возрастанию слево направо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 16:35:22 |
|
||
|
Алгоритм парсинга строки.
|
|||
|---|---|---|---|
|
#18+
Для начала, строку разбить на элементы массива можно функцией Split, она для того и существует. Потом пройтись циклом(двумя) и выкинуть ненужное. Можно сделать интереснее: используя обратную функйцию, Join, сделать из первого массива строку. И проходя циклом по второму массиву выбрасывать элементы если нет вхождения. Один цикл вместо двух. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 17:51:41 |
|
||
|
Алгоритм парсинга строки.
|
|||
|---|---|---|---|
|
#18+
Т.е. после сплита у меня будет в место строки ещё один массив и тогда можно поэлементно сравнивать их? авторИ проходя циклом по второму массиву выбрасывать элементы если нет вхождения. Эм, не очень понял про вхождение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 17:59:10 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33031010&tid=2167915]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 344ms |

| 0 / 0 |
