Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как убрать символ из строки? / 16 сообщений из 16, страница 1 из 1
12.11.2007, 12:33
    #34931826
Mons
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
Как убрать символ из строки?

есть ли функция в VB которая может убрать символ ":"

есть строка "0001:5306:9804:55523"
как их нею убрать ":" чтобы получить
"00015306980455523"
нет ли никакой функции, чтобы без поиска и удаления по строке?
...
Рейтинг: 0 / 0
12.11.2007, 12:36
    #34931836
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
Debug.Print Replace("0001:5306:9804:55523", ":", "")
...
Рейтинг: 0 / 0
12.11.2007, 15:27
    #34932696
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
Я для себя просто написал один раз и навсегда:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Function tochkaSTR(str As String, str1 As String, str2 As String) As String
Dim i As Integer
Dim LenW As Integer
Dim ch As String
    LenW = Len(str)
    tochkaSTR = ""
    For i =  1  To LenW
        ch = Mid(str, i,  1 )
        If ch = str1 Then ch = str2
        tochkaSTR = tochkaSTR & ch
    Next i
End Function

Итого:
Код: plaintext
tochkaSTR("0001:5306:9804:55523", ":", "")
...
Рейтинг: 0 / 0
12.11.2007, 16:20
    #34932922
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
Дмитрий77,

А зачем все это? Зачем цикл? Зачем передавать в качестве аргумента переменную, одноименную с функцией str, распознающей точку как десятичный разделитель? При этом слово точка - в названии вашей функции. Чтобы задуматься о смысле жизни? Зачем все это передавать Byref? Зачем Mid и Len? Зачем вот это: tochkaSTR = "" ? Чем все это вас прельщает больше, чем Replace?

:0)
...
Рейтинг: 0 / 0
12.11.2007, 16:50
    #34933096
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
VladConn +
Тем более что конкатенация строки в цикле - очень медленный алгоритм.
...
Рейтинг: 0 / 0
12.11.2007, 17:37
    #34933288
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
MonsКак убрать символ из строки?

есть ли функция в VB которая может убрать символ ":"

есть строка "0001:5306:9804:55523"
как их нею убрать ":" чтобы получить
"00015306980455523"
нет ли никакой функции, чтобы без поиска и удаления по строке?

Есть такая никакая функция! Пользуйтесь их нею. Читайте ответ Worobjoff. Я их него советую!

:0))
...
Рейтинг: 0 / 0
12.11.2007, 21:43
    #34933756
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
VladConnДмитрий77,

А зачем все это? Зачем цикл? Зачем передавать в качестве аргумента переменную, одноименную с функцией str, распознающей точку как десятичный разделитель? При этом слово точка - в названии вашей функции. Чтобы задуматься о смысле жизни? Зачем все это передавать Byref? Зачем Mid и Len? Зачем вот это: tochkaSTR = "" ? Чем все это вас прельщает больше, чем Replace?

:0)

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

Я все таки любитель а не профи.

А на современных PC скорость сильно из-за этого не упадет.

При очень громоздких обработках текстов, где действ.долго я использую C в компиляторе C++ из VS6.
...
Рейтинг: 0 / 0
12.11.2007, 23:05
    #34933839
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
OK, No problem. Не берите в голову, Дмитрий77. Своя рубашка всегда ближе к телу. Я, кстати, потестировал вашу функцию, она достаточно быстра на 50,000 вызовах довольно длинных строк.

Успехов
...
Рейтинг: 0 / 0
12.11.2007, 23:44
    #34933865
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
Если уж нужна скорость, то можно и так:
Код: plaintext
1.
2.
3.
4.
5.
6.
void change(char mas[],char a,char b) //заменяет символ a на символ b 
{                                      //в массиве mas
	for(int i= 0 ;mas[i]!='\0';i++)
	{
		if(mas[i]==a) mas[i]=b;
	}
}

Но VB настолько удобен, что можно и подождать секунду-другую...
...
Рейтинг: 0 / 0
13.11.2007, 09:32
    #34934179
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
Дмитрий77Ну зачем мучиться ущемленным чувством собственного достоинства?
Никто за пару "велосипедов" не станет весить вам ярлыки.
...
Рейтинг: 0 / 0
13.11.2007, 09:35
    #34934188
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
А вот кстати в VBA 97-го офиса функции Replace нет. И мне как-то тоже пришлось изобретать велосипед, который потом для совместимости использовался еще в нескольких проектах :)


С уважением, Николай.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
17.05.2011, 11:03
    #37264180
Цзын Вей
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
А если удалять не символ, а целые слова??? Например стоящие после 2х пробелов.
...
Рейтинг: 0 / 0
17.05.2011, 11:12
    #37264200
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
Цзын ВейА если удалять не символ, а целые слова??? Например стоящие после 2х пробелов.
1)Находить начало слова поиском двойного пробела с помощью функции InStr
Находить конец слова поиском одиночного пробела с помощью функции InStr (учитывать, что слово может быть последним и InStr вернет 0)
Вырезать все до слова и после слова с помощью функций Left$ и Mid$ и склеить результат.
Продолжать до посинения окончания строки
2) Освоить регулярные выражения
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
08.11.2016, 15:42
    #39343594
Fck_This
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
VladConn MonsКак убрать символ из строки?

есть ли функция в VB которая может убрать символ ":"

есть строка "0001:5306:9804:55523"
как их нею убрать ":" чтобы получить
"00015306980455523"
нет ли никакой функции, чтобы без поиска и удаления по строке?

Есть такая никакая функция! Пользуйтесь их нею. Читайте ответ Worobjoff. Я их него советую!

:0))

=D
...
Рейтинг: 0 / 0
08.11.2016, 19:04
    #39343830
RomkaEremin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
VladConn,

здравствуйте, помогите пожалуйста с задачей
Дана строка S. Составить алгоритм, который удаляет каждый второй символ из введенной строки
нужно написать программу
...
Рейтинг: 0 / 0
08.11.2016, 21:36
    #39343890
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как убрать символ из строки?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как убрать символ из строки? / 16 сообщений из 16, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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