powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ? Манипуляции со строковым выражением ?
6 сообщений из 6, страница 1 из 1
? Манипуляции со строковым выражением ?
    #32433611
Bastard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте !
1) Есть проблема: необходимо вычислить сколько пробелов в строке ! С помощью какой функции это можно сделать ?
Т.е.: "БЕНЗИН АВТОМОБИЛЬНЫЙ С СОДЕРЖАНИЕМ СЕРЫ" как посчитать, что внутри строки 4 пробела и затем вычленить слова: "бензин" "автомобильный" "содержанием" "серы" ???
Дайте пример пожалуйста, если можно !

2) В таблице в поле текстового типа есть записи такого рода:
"@ ПЛАТА МАТЕРИНСКАЯ" или же "& блок питания". Мне нужно поубирать из строк хлам: символы @,&, причем чтобы значащая информация осталась !
Подскажите пожалуйста, как это сделать ?
...
Рейтинг: 0 / 0
? Манипуляции со строковым выражением ?
    #32433653
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
1. split
2. replace
...
Рейтинг: 0 / 0
? Манипуляции со строковым выражением ?
    #32433674
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Declare Function IsCharAlphaNumeric Lib  "user32"  Alias  "IsCharAlphaNumericA"  (ByVal cchar As Byte) As Long
 
Function RemoveGarbage(ByVal vstrIn As String)
    Dim i As Long
    Dim strChar As String
    Dim strOut As String
    For i =  1  To Len(vstrIn)
        strChar = Mid$(vstrIn, i,  1 )
        If IsCharAlphaNumeric(Asc(strChar)) =  1  Or strChar =  " "  Then strOut = strOut & strChar
    Next
    RemoveGarbage = Trim$(strOut)
End Function
...
Рейтинг: 0 / 0
? Манипуляции со строковым выражением ?
    #32433677
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
К последнему решению, возможно, придется добавить проверку на точку, запятую и т.д. Кстати, вот другой вариант:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Function RemoveGarbage(ByVal vstrIn As String, ByVal vstrGarbage As String) As String
    Dim i As Long
    For i =  1  To Len(vstrGarbage)
        vstrIn = Replace(vstrIn, Mid(vstrGarbage, i,  1 ), "")
    Next
    RemoveGarbage = Trim$(vstrIn)
End Function
...
Рейтинг: 0 / 0
? Манипуляции со строковым выражением ?
    #32433680
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только для A97 надо использовать свой Replace.
От меня до сих пор требуют, чтобы код работал в A97 :(
...
Рейтинг: 0 / 0
? Манипуляции со строковым выражением ?
    #32433686
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Function RemoveGarbage(ByVal vstrIn As String)
    Dim i As Long
    Dim strChar As String
    Dim strOut As String
    For i =  1  To Len(vstrIn)
        strChar = Mid$(vstrIn, i,  1 )
        If strChar Like  "[!@#&]"  Then strOut = strOut & strChar
    Next
    RemoveGarbage = Trim$(strOut)
End Function
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ? Манипуляции со строковым выражением ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]