Страница: 1 |
Вопрос: Как реализовать функцию работы с текстом | Добавлено: 03.12.03 06:49 |
Автор вопроса: ![]() |
Есть у кого-нибудь пример преобразования текста. Например: strBegin="е 960.56.14.67-01(а)" преобразовать в strEnd="Е96056146701А" Буду очень благодарен |
Ответы | Всего ответов: 10 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 178155071 Вопросов: 21 Ответов: 52 |
Профиль | Цитата | #1 | Добавлено: 03.12.03 07:14 |
Я реализовал но мне кажется это не очень граммотно и корректно Public Function UpGradeText(strUpgrade As String) As String Dim i As Integer Dim j As Integer Dim LenString As Integer Dim sSimvolArray() As String LenString = Len(strUpgrade) ReDim sSimvolArray(LenString) For i = 1 To LenString sSimvolArray(i) = Mid$(UCase(strUpgrade), i, 1) Next i For i = 1 To LenString For j = 1 To 46 If sSimvolArray(i) = Chr$(j) Then sSimvolArray(i) = "" Next j For j = 58 To 64 If sSimvolArray(i) = Chr$(j) Then sSimvolArray(i) = "" Next j For j = 91 To 96 If sSimvolArray(i) = Chr$(j) Then sSimvolArray(i) = "" Next j For j = 123 To 187 If sSimvolArray(i) = Chr$(j) Then sSimvolArray(i) = "" Next j Next i UpGradeText = "" For i = 1 To LenString UpGradeText = UpGradeText & sSimvolArray(i) Next i
End Function |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 252999255 Вопросов: 36 Ответов: 247 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 03.12.03 15:09 |
function ConvertText(text as string) dim res as string for i=1 to len(text) b$=mid(text,i,1) if b$=" " or b$="." or b$="(" or b$=")" or b$="-" then b$="" res=res &ucase$(b$) next i ConvertText=res end function |
Номер ответа: 3 Автор ответа: ![]() ![]() ICQ: 8440085 Вопросов: 15 Ответов: 117 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 03.12.03 16:17 |
В цикле использовать Mid$. Если символ попадает в ASCII диапазон цифр и букв, оставлять, нет - удалять. 48-57/65-90/97-122 |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 04.12.03 05:26 |
Можно так: в цикле перебираешь значения и проверяешь условие выборкой Case "E","0" to "9","A" добавляешь в строку Case Else не добавляешь End Case |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 252999255 Вопросов: 36 Ответов: 247 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 04.12.03 11:55 |
To CyRax: а нафига там нужен case else и почему ты проверяешь на заглавные, а как видно надо все строчные преобразовать в заглавные и вообще юзай мою функцию! Govnuk |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 05.12.03 06:17 |
Не буду спорить по такому пустяковому вопросу. А вообще мысль верная Case Lcase("E"),"0" to "9",Lcase("A") Советую тебе ув. Говнюк использовать такой стиль написания, если ты хочешь что-бы тот, кто будет читать твой исходник, не помянул тебя неоднократно "незлым" тихим словом. |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 178155071 Вопросов: 21 Ответов: 52 |
Профиль | Цитата | #7 | Добавлено: 05.12.03 09:26 |
Вы как то узко проблему расматриваете, Case'ми запаришься все символы прописывать обозночение может быть какое угодно даже вот такое strBegin="dhgGFПАЫРРО12.34.23.12.45Комб-дет01.пр(с)" и что по вашей схеме надо все символы в case загонять? да так опухнуть можно. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 204447456 Вопросов: 180 Ответов: 4229 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 06.12.03 06:25 |
Друг мой, ну вы прям как вчера из детсада Попробуйте наоборот |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 178155071 Вопросов: 21 Ответов: 52 |
Профиль | Цитата | #9 | Добавлено: 09.12.03 11:34 |
Так исключений почти столько же. И какая разница. |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 09.12.03 16:42 |
Чего тут спорить? case1="ABCDEF" case2="0123456789" case3="|/%" for i=1 to len(test) if instr(case1,mid(test,i,1)) then res=res & ucase(mid(test,i,1)) end if if instr(case2,mid(test,i,1)) then res=res & mid(test,i,1) end if if instr(case3,mid(test,i,1)) then res=res & "_" end if next |
Страница: 1 |
|