|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.04.2011, 21:27 | #1 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
Возможные варианты написания отдельных слов
Здравтсвуйте. Нужно найти слово в тексте, причем слово должно отдельно стоять, ну тоесть не должно слитно написано в с другими словами, составил функцию которая ищет слово в тексте и если это действительно слово тогда возвращает его позицию в тексте:
Код:
|
10.04.2011, 22:25 | #2 |
Форумчанин
Регистрация: 29.04.2010
Сообщений: 114
|
Знаете, ваш алгоритм не оптимален, имхо!!!
Я бы делал так: 1) Создал массив типа char в котором бы содержались: "_", \t, \n, b т.д. 2) Нашел бы позицию слова в тексте: pos=text.AnsiPos(word); 3) И проверил бы совпадение границ слова [pos-1;pos+word.length()+1] на совпадение с символами из массива. При нужных условиях возвращаем позицию. 4) И так в цикле Писал спонтанно. Можно придумать что-нибудь и получше чем я тут накалякал, но не куча ifов! Последний раз редактировалось Tema_Crazzzy; 10.04.2011 в 22:28. |
10.04.2011, 22:36 | #3 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
Tema_Crazzzy не спорю, мне самому не очень нравится, в луа обошелся несколькими строчками кода, но здесь я пока мало что знаю ... да и к тому же мне просто нужно узнать какой вариант я пропустил ... или может существуют еще какие-нибудь подобные символы?
|
10.04.2011, 23:46 | #4 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
isspace()
Что с ней делать можно догадаться ))
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
13.04.2011, 18:48 | #5 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
Blade почитал в интернете про эту функцию ... это по сути то что мне нужно, но так и не смог ее использовать ... дело в том что я использую тип AnsiString, а нужно char ... Подскажите пожалуйста как можно преобразовать? Заранее спасибо!
P.S text.c_str() не помогает ... |
13.04.2011, 18:56 | #6 | |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
Цитата:
Примерно так Код:
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
|
13.04.2011, 19:12 | #7 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
Hacker19_90 спасибо, попробую и так сделать, после того как написал собщение додумался как можно ... вот как сделал:
Код:
|
14.04.2011, 07:16 | #8 |
Пользователь
Регистрация: 15.01.2011
Сообщений: 77
|
Возникла проблема, вот текст: log( string.format(fmt,...))
Подобных строк много, но выделенной место между двумя буквами не распознается как пробел (проверяю isspace()) ... Возможны ли какие-то другие символы типа пробела |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
просчитать все возможные варианты диапазона используя VBA | PARTOS | Microsoft Office Excel | 16 | 11.10.2010 10:57 |
Все возможные варианты строки | Vikenty | Общие вопросы Delphi | 3 | 29.08.2010 03:30 |
Можно ли программно предопределять стиль отдельных слов в строковом выражении? | G_George | Microsoft Office Word | 3 | 06.12.2009 15:47 |
по вводу слов в массив и подсчёт введённых слов | -ushёl- | Общие вопросы C/C++ | 4 | 16.11.2009 00:45 |
Составить в алфавитном порядке список всех слов, встречающихся в тексте, и количество этих слов. | KAPAHDAW | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 17.02.2009 01:19 |