Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 | 3 | 4 |

 

  Вопрос: split с arra'eм delimet'ров, как осуществить? Добавлено: 15.11.08 15:34  

Автор вопроса:  vbnetka
есть функция split:
split(string, string, Integer, CompareMethod)
она делит string на array string'ов, ограниченных в исходном тексте указанным delimetr'oм

в программе есть array string'ов, называющийся chars и содержащий, к примеру, "+" и "-",
а также string под названием natstr, содержащий строку "2+2-4"
нужно каким-нибудь рациональным способом в array'е string'ов ansstr получить значения 2, 2 и 4, основываясь на деление строки символами, содержащимися в переменной chars.

Иначе говоря, мне просто нужно делать что-то вроде сплит, указывая array как "разделитель". Есть способ делить несколько раз каждое из значений, но это не подходит.

Спасибо, надеюсь на помощь

Ответить

  Ответы Всего ответов: 60  

Номер ответа: 1
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #1
Добавлено: 15.11.08 16:30
  1. Dim arr() As String = "2+1/3*5".Split("+", "-", "/", "*")

Ответить

Номер ответа: 2
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 15.11.08 17:44
Алексей, я хотел проверить, как работает код, который вы привели, но, к сожалению, компилятор мне выдает резонную ошибку, указывающую на то, что String невозможно привести к типу Char без потери данных.

Я проверил, в чем может быть проблема и обнаружил, что у метода Split нет перегрузки, принимающей массив String.

Для выполнения того, что хочет сделать автор, необхоимо передавать в функцию параметры типа Char, вот так вот:

  1. Dim arr() As String = "2+1/3*5".Split("+"c, "-"c, "/"c, "*"c)


Вам же, Алексей, я рекомендую при создани нового проекта устанавливать у него опцию Option Strict On, что защитит вас от большого количества ошибок, которые вы допускаете из-за неизбежных ошибок при приведении типов.

Ответить

Номер ответа: 3
Автор ответа:
 vbnetka



Вопросов: 3
Ответов: 37
 Профиль | | #3 Добавлено: 16.11.08 00:42
Алексей, спасибо за идею и за код, который работает в моем случае
Steel Brand, спасибо за важную часть в этой теме )

Ответить

Номер ответа: 4
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #4
Добавлено: 16.11.08 04:25
Я проверил, в чем может быть проблема

я это прекрасно знаю, и даже как-то писал о логических багах, происходящих на этой почве

Вам же, Алексей, я рекомендую при создани нового проекта устанавливать у него опцию Option Strict On,

Заметьте, я уже давно не ребенок, чтобы пользоваться презервативом при сексе на случай преждевременного семяизвержения, если у вас с этим проблемы, пользуйтесь, а свое семяизвержение я вполне способен контролировать и предсказывать, и самое главное получать от этого удовольствие.

что защитит вас от большого количества ошибок

я их вообще не допускаю :)

Ответить

Номер ответа: 5
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #5 Добавлено: 16.11.08 13:42
Заметьте, я уже давно не ребенок, чтобы пользоваться презервативом при сексе на случай преждевременного семяизвержения, если у вас с этим проблемы, пользуйтесь, а свое семяизвержение я вполне способен контролировать и предсказывать, и самое главное получать от этого удовольствие.

Алексей, очень странно что вы нашу интелектуальную беседу свернули в какое-то пошлое русло, впрочем не мне вас судить.

Вынужден вас огорчить - программирование - это очень сложная индустрия, а не игра.
В ролевой игре вы можеет выбрать, кем вы будете - гномом, магом, или амазонкой.
В программировании, к сожалению, вы не можете выбрать кем вы будете - хорошим программистом, плохим программистом, менеджером, или еще кем-то.

И точно также нельзя выбрать, будете вы писать код с ошибками, или же будете писать код без ошибок (впрочем писать код с ошибками можно умышленно, я правда не знаю, есть ли в этом смысл).

А вот это я читаю к своему сожалению:
Алексей пишет:
что защитит вас от большого количества ошибок

я их вообще не допускаю

Очень странно, что человек, считающий себя продвинутым программистом такое может заявлять.
Я думал только в ВУЗе на первом уроке по программированию ученики могут спрашивать "А зачем нужно меню debug? Я например не буду делать ошибок в коде". Впрочем это заблуждение как правило рассеивается еще быстрее чем появляется - на первой же практической работе, на которой нужно просто переписать код из методички в окно редактора кода.

Впрочем не только студенты в ВУЗ-ах допускают ошибки в программах - даже в космических программах с огромными бюджетами допускаются ошибки, некотоыре из которых даже прводят к провалу миссий. И это с учетом того, через сколько уровней контроля качества проходят эти программы.

Вы же отключаете даже самый примитивный и очевидный механизм контроля качества - и беретесь утверждать о наличии/отсутствии ошибок в своих программах - я бы вам советовал все-таки более глубоко задуматься над этим вопросом и серьезно работать над улучшением качества вашего программного кода.

Ответить

Номер ответа: 6
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #6
Добавлено: 16.11.08 14:38
Алексей, очень странно что вы нашу интелектуальную беседу свернули в какое-то пошлое русло, впрочем не мне вас судить.

если бы я говорил с 90 летним стариком, я бы выбрал более близкие сравнения.

Вынужден вас огорчить - программирование - это очень сложная индустрия, а не игра.

:)

В ролевой игре вы можеет выбрать, кем вы будете - гномом, магом, или амазонкой.

никогда не умел играть, разве что в далеком детстве, но тогда ни гномов, ни магов еще не было.

В программировании, к сожалению, вы не можете выбрать кем вы будете - хорошим программистом, плохим программистом, менеджером, или еще кем-то.

Вы не поверите, в России каждый гражданин имеет право делать выбор. Если вы не в состоянии достичь поставленной перед собой цели, это вовсе не означает, что я, и кто-либо другой, тоже не смогут это сделать.

И точно также нельзя выбрать, будете вы писать код с ошибками, или же будете писать код без ошибок (впрочем писать код с ошибками можно умышленно, я правда не знаю, есть ли в этом смысл).

Вообще, нужно писать рабочий код, а не с ошибками, или без них.
В данном случае код рабочий для топикстартера в рамках его (или ее) потребностей, целей и сознания.

считающий себя продвинутым программистом

Кто, я? Я нет, я зеленый нуб.

Я думал только в ВУЗе на первом уроке по программированию ученики могут спрашивать "А зачем нужно меню debug? Я например не буду делать ошибок в коде"

Вы говорите о ошибках, возникших в результате "плохой согласованности кода" (и не только кода, а многих других неучтенных факторов), это пожалуй норма, сделали, собрали все в кучу, подкрутили, отдали, поюзали с пол годика, опять подкрутили и т.п. и т.д. Так было, так есть, и будет, пока на планету не упадет астероид размером с футбольное поле.

Вы же отключаете даже самый примитивный и очевидный механизм контроля качества

Если я захочу сделать что-то серьезное, то буду использовать более серьезные средства для достижения своих целей.

качества вашего программного кода.

Боюсь это не возможно. Было время, я пытался заставить людей писать качественный код, но они либо вешались, либо уходили, даже не взяв зарплату. Так что, в хорошо известной вам индустрии, нужно писать не качественный код, и не код с ошибками, а нормальный код в силу потребностей и возможностей, как технических, так и человеческих. Глупо пытаться построить идеальный бассейн на участке в 2х3 метра, разве что для тараканов, но они плавать не умеют.

Ответить

Номер ответа: 7
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #7
Добавлено: 16.11.08 17:55
Я так заскочил в поисках острых ощущений :)

что защитит вас от большого количества ошибок

я их вообще не допускаю :)

Помню, на каком-то форуме прочитал:
Если программист не допустил ни одной ошибки, значит он ничего еще не написал!


эх... как-то скучно на других форумах... зададут вопрос... дадут ответ и все :)
Тема, теоретически, была закрыта еще первым ответом, но так было бы на других форумах, но не на этом, ведь здесь есть Steel Brand...
Я предлагаю назвать этот форум не ".NET" а "Философия разработки на .NET" :)

Думаю будет страницы 3 минимум... кто больше? :)

Все... меня тут не было...

Ответить

Номер ответа: 8
Автор ответа:
 vbnetka



Вопросов: 3
Ответов: 37
 Профиль | | #8 Добавлено: 16.11.08 20:26
Мдааа... смешно)
Алексей пишет:
Dim arr() As String = "2+1/3*5".Split("+", "-", "/", "*";)

Никогда бы не предположила, что от этого кода могут появиться мысли вроде
Алексей пишет:
я уже давно не ребенок, чтобы пользоваться презервативом при сексе на случай преждевременного семяизвержения

Steel Brand пишет:
В ролевой игре вы можеет выбрать, кем вы будете - гномом, магом, или амазонкой.

Алексей пишет:
упадет астероид размером с футбольное поле

Алексей пишет:
построить идеальный бассейн на участке в 2х3 метра


У каждого своя "Философия разработки на .NET", а у меня её по моему нет вовсе ) Поэтому считаю Steel Brandа "выигравшим в споре", т.к. в моем сообщении было так:
содержащий, К ПРИМЕРУ, "+" и "-"

а то, что код работает в моем случае, пока он не использует более сложных данных ни о чем не говорит ))
Да и потом, не ошибается тот, кто не живет, и абсолютно понятно, что Алексей и живет, и ошибается

Но это что касается спора, а мне, не умеющему филосовствовать, всегда убежденному в своем программисту помогли оба ответа в равной степени. я отойду, а вы можете продолжать спорить, вспоминать ВУЗы и ролевые игры, ждать астероиды с футбольное поле, пытаться строить бассейны в пару метров шириной, утверждать, что тараканы (или один из видов отряда таракановых типа членистоногих) не умеют плавать (хотя я бы с Вами поспорила) и т.д.

Ответить

Номер ответа: 9
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #9 Добавлено: 16.11.08 23:39
vbnetka пишет:
Поэтому считаю Steel Brandа "выигравшим в споре",

Большое спасибо за поддержку, госпожа vbnetka!

Или господин vbnetka?

А то вы что-то в окончаниях путайтесь, уж определитесь, накнец, придерживайтесь одного и того же, а не вводите в заблуждение участников форума!

PS

Никогда бы не предположила,
Но это что касается спора, а мне, не умеющему филосовствовать, всегда убежденному в своем программисту
я бы с Вами поспорила




PS Товарищи, не закрываем браузеры! Активнее присоединяемся к очень интересному обсуждению с проффесором Брэндом!
http://vbnet.ru/forum/show.aspx?id=178100

Ответить

Номер ответа: 10
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #10
Добавлено: 17.11.08 04:24
__Pavel__:
Я так заскочил в поисках острых ощущений

смотри, как бы острые ощущения не нашли тебя ;)

vbnetka:
Никогда бы не предположила, что от этого кода могут появиться мысли вроде

они появились не от кода, а от рекомендаций

а то, что код работает в моем случае, пока он не использует более сложных данных ни о чем не говорит ))

он будет работать в любом случае, до тех пор, пока вы не засуните туда более одного символа, но раз
содержащий, К ПРИМЕРУ, "+" и "-"

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


Фишка в том, что раньше (относительно недавно) я был таким же сдвинутым на всю голову на почве перфекционизма (может даже больше), как Steel Brand, но как показала практика это плохой путь. Собственно, здесь поголовно все, более ли менее продвинутые программеры, страдают этим недугом. И это, к сожалению, нормально. Хотят как лучше, а получают, как всегда, если вообще что-то получают. Сея проблема оказывает нехилое влияние на провал проекта, я бы даже поставил их рядом с кривой архитектурой и кривыми проект-менеджерами. Согласитесь, если избавится от одного пункта (перфекционизма), реализов будет гораздо больше.

Steel Brand:
Но это что касается спора, а мне, не умеющему филосовствовать, всегда убежденному в своем программисту
я бы с Вами поспорила

программист - это он, значит все же госпожа :)

Ответить

Номер ответа: 11
Автор ответа:
 vbnetka



Вопросов: 3
Ответов: 37
 Профиль | | #11 Добавлено: 17.11.08 22:20
Аааа, видать, ввела Вас в заблуждение своим "программистом, не умеющим филосовствовать", я ж.р. и прекрасно знаю, что так в русском языке говорить нежелательно, НО в нынешние дни нет никакого уважения к женским особям человеческого рода, их считают вещами, тупыми (хотя неоднократно учеными доказывалось равенство интеллектуальных способностей мужчин и женщин), дурами и т.п. И когда я свободно говорила о своем поле, столкнулась с абсолютно бестолковым неуважением даже на программистских форумах. Поэтому, там где о роде можно умолчать часто меняю форму глагола, здесь - род существительного и т.п. в частности, там где я хочу, чтобы меня лучше поняли. на некоторых форумах я вообще регистрировалась под мужским именем. Дискриминация - что поделать...
... и если бы Вы еще знали сколько мне лет.....
что тоже приходится скрывать

сдвинутым на всю голову на почве перфекционизма


Это очень интересная тема. Однако перфекционизм именно в работе не то что желателен, необходим, по крайней мере в какой-то степени. Если это слово понимать как ЖЕЛАНИЕ достичь совершенста.
Хотя мне незачем пытатся доказать, что именно такое значение несет это слово, в словарях пишут вообще:

ПЕРФЕКЦИОНИЗМ (от англ. perfection - совершенство) - протестантское теологическое учение о возможности для человека через христианскую веру достичь совершенства, заслужить прощение у Бога...

А я атеист )

В общем, Ваша позиция мне и так понятна, по Вашему мнению оскорбили Ваш профессионализм из-за якобы грубой ошибки и стали все больше доказывать Вам самим на Ваши "ошибки", на неправильность Вашей тактики, со зла Вы пишете еще, уже на русском, и еще больше становится причин для спора, Вы на "грубость" отвечаете хитроумной "грубостью", Вам отвечают еще более хитроумной "грубостью" и в конце концов все эти хитрые и умные "грубости" скатываются в одну большую глупость, а точнее чушь)

вы поднимаете очень много ненужных тем -
На ЕГЭ по русскому языку Вам обоим поставили бы 2 за сочинение, за отклонение от заданной темы ))) Ну, это так))


И в конце концов, правильно или не правильно я вас и вы меня понимаете:
Оба молодцы, никто не лучше, тема доведена до логического конца и следственно должна быть закрыта.
Ч.Т.Д.

Ответить

Номер ответа: 12
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #12
Добавлено: 18.11.08 04:29
я ж.р.

Особей женского рода в программировании в последнее время можно часто встретить, что не может не радовать :)

НО в нынешние дни нет никакого уважения к женским особям человеческого рода, их считают вещами, тупыми

По моему, все зависит от человека.

и если бы Вы еще знали сколько мне лет.....

Я уже знаю http://aleksey.nemiro.ru/my/articles/internet/bourne-identity.html
Удивлен, я думал что больше :) Но с другой стороны, девушки взрослеют быстрее особей мужского пола. Дэ'факто

Однако перфекционизм именно в работе не то что желателен, необходим, по крайней мере в какой-то степени

Именно об этом я и говорю, крайности в работе не приемлемы, нужно все в меру делать. Найти золотую середину и работать.

Если это слово понимать как ЖЕЛАНИЕ достичь совершенста.

именно так

Хотя мне незачем пытатся доказать, что именно такое значение несет это слово, в словарях пишут вообще:

на данном ресурсе популярностью пользуется один словарь - ru.wikipedia.org :)

со зла Вы

я добрый и пушистый

и еще больше становится причин для спора

так и должно быть, удар, еще удар, блок, раскрылся, удар, опять удар, в этом вся прелесть поединка

Вам отвечают еще более хитроумной

к сожалению, в данной битве я не получил достойного отпора :(

скатываются в одну большую глупость, а точнее чушь

да, дорожка флуда может далеко завести..

Оба молодцы, никто не лучше, тема доведена до логического конца и следственно должна быть закрыта.

Мы все поняли, будет исправляться. Но прейдет время и мы опять захотим поиграть в войнушку, ничего не поделаешь, природа у нас такая :)

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 18.11.08 14:52
хотя неоднократно учеными доказывалось равенство интеллектуальных способностей мужчин и женщин

Это какие такие "ученые" что-то доказывают неоднократно, да еще и такую чушь?

Ответить

Номер ответа: 14
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #14 Добавлено: 18.11.08 16:13
Алексей, статья хорошая.

Ответить

Номер ответа: 15
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #15
Добавлено: 18.11.08 19:14
Sharp пишет:
Это какие такие "ученые" что-то доказывают неоднократно, да еще и такую чушь?

видимо ученые-женщины ;)

Ответить

Страница: 1 | 2 | 3 | 4 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам