![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
Имеется строка 'some string123' (вместо "some string" может быть что угодно, но "123" постоянно). Как из этой строки сделать строку 'some string'?
|
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
|
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
December
Надо так:
Иначе result='some string1'. |
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Это верно! А все из-за того, что роs определяет положение подстроки '123' в строке, а сору позволяет выделить фрагмент строки, длинной как раз токи до первого символа подстроки '123'(в данном случае), т.е. до 1. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
ИМХО проще:
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
а что будет быстрее работаеть? |
|||
|
||||
| Poseidon |
|
||||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
~FoX~
будет выдавать то, что ожидается только если 123 в конце строки. А если строка 'some string123abc'? Ведь по предложенному a.S.d условию это не исключается. Поэтому лучше все таки использовать
PS. Это касается и предложения Pakshin A. S. удалять последние три символа
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||||
|
|||||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
a.S.d, а если в строке к примеру два раза встречается 123, то нужно все удалить или нет?
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: 8 Всего: 57 |
Угу, лень было думать и проверять |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Poseidon
|
|||
|
||||
| Poseidon |
|
||||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
~FoX~, то, что "123" постоянно, это я видел. Но все равно, предложенное тобой
Pakshin A. S.
Поэтому эти варианты не приемлемы. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||||
|
|||||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Может так
|
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Poseidon
Сори, я предыдущий пост не прочитал.......туплю. Тогда как a.S.d предложил |
|||
|
||||
| Poseidon |
|
||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Все, я думаю тема исчерпана.
Выводы:
Если в строке "123" встречается один и более раз, и от этих "123" нужно избавится, то тогда код SlaUr
a.S.d, думаю мы тебе тут всем кагалом помогли -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||
|
|||||
| Alex |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Я обычно пишу:
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
||||
|
|||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Alex, раз человек задает такой вопрос, то, я думаю он еще толком не тазобрался со тем, что Delphi предлагает по умолчанию. И что бы еще разбираться, что там за функции есть в StrUtils просто не до этого.
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
Poseidon, в этом и дело, что я сейчас показал ему, что перед тем как задавать вопрос или пытаться самому реализовывать какую-то функцию нужно потратить немного времени и посмотреть, а что Delphi предлагает. Дело в том, что достаточно грамотные и знающие программиста порой не знают о существовании таких нужных и полезных функций. Но их можно понять, эти функции появились в Delphi не так давно, по-моему, начиная с 5 версии. А я в душе человек ленивый и ужасно не люблю изобретать велосипеды я ищу уже написанное стандартное и им пользуюсь (хотя иногда на поиски уходит не один месяц
PS: А все разговоры, что мы сначала покажем человеку не совсем правильно, но то, что писать легче (эта тема к счастью не этот случай) я ненавижу. Если уж учить так, учить и если показывать пример то самый правильный и может быть самый навороченный, но в нем учтены все подводные камни, о которых вам известно. Дело в том, что, показав один раз человеку легкий, но не совсем правильный код вы делаете этому человеку и еще тем людям, которым этот человек будет теперь уже сам отвечать на подобный вопрос большую гадость. Не совсем правильный код расползается по сети, попадает в FAQ и народ считает его верным. Доказать потом, что этот код не верный и переучить человека писать правильно очень сложно. Поэтому лучше в самом начале дать нормальный качественный пример может быть не совсем простой. Я знаю множество примеров, когда везде в сети лежит один и тот же пример и он не рабочий, но при задании вопроса все упорно копируют его в качестве ответа. -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Poseidon |
|
||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Alex
Но я думаю, что мы с тобой не будем начинать дискуссию по этому поводу (по крайней мере здесь), т.к. это уже можно опредилить как PS. А насчет твоего посскриптума, так это ты прав. Это и меня очень раздражает. Я, к примеру, всегда даю код, каторый либо мною написан, либо проверен на ошибки перед этим. Ведь многие только начинают. И напиши в примере кода хотя бы FloadToStr (реальный пример описки в предложенном коде), начинают тебе говорить, что код с ошибкой и не компилируется. А что бы исправить ошибку опыта (пока) не хватает. Поэтому таким людям нужно давать все проверенное, да и еще с //описанием. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |