С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/51: Рейтинг темы: голосов - 51, средняя оценка - 4.92
52 / 1 / 0
Регистрация: 17.10.2011
Сообщений: 46

Вводится строка, в ней нужно удалить все символы кроме цифр

17.12.2011, 11:57. Показов 11088. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вводится строка, в ней нужно удалить все символы кроме цифр
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.12.2011, 11:57
Ответы с готовыми решениями:

Дана строка. Нужно в ней убрать все кроме симвлов S, M и L
Дана строка. Нужно в ней убрать все кроме симвлов S, M и L (регистр не имеет значения) и вставить между ними ', ' (то есть, запятая и...

Удалить все символы кроме цифр
Уважаемые форумчане! Просьба подсказать как не-хардкорным способом, а красивым и элегантным можно, к примеру, с помощью функции...

Удалить из строки все символы кроме цифр
Программа просит ввести строку S и удаляет из неё все символы кроме цифр. Добавлено через 20 часов 30 минут помогите кто нибудь

16
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
17.12.2011, 12:14
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub main()
Dim S$, I%, J%
S = InputBox("")
For I = 1 To Len(S)
  Select Case Mid$(S, I, 1)
  Case "0" To "9": J = J + 1: Mid$(S, J, 1) = Mid$(S, I, 1)
  End Select
Next I
S = Left$(S, J)
MsgBox S
End Sub
3
52 / 1 / 0
Регистрация: 17.10.2011
Сообщений: 46
17.12.2011, 12:47  [ТС]
Спасибо))
0
1703 / 190 / 19
Регистрация: 20.11.2011
Сообщений: 281
17.12.2011, 13:43
Я обычно пользуюсь этим:
Visual Basic
1
2
3
4
5
6
7
Public Function ExtractNumber1(s As String) As Double
    Dim i As Integer, str As String
    For i = 1 To Len(s)
        If InStr(1, "1234567890,", Mid(s, i, 1)) <> 0 Then str = str & Mid(s, i, 1)
    Next
    ExtractNumber1 = CDbl(str)
End Function
0
52 / 1 / 0
Регистрация: 17.10.2011
Сообщений: 46
26.12.2011, 21:58  [ТС]
а можете объяснить каждую строчку первой программы?
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
27.12.2011, 07:29

Не по теме:

Цитата Сообщение от olya-neznakomce Посмотреть сообщение
Спасибо))
Спасибо - это много:scratch:
Фотку покажи:p



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub main() 'процедура
Dim S$, I%, J%'S:строка, I,J - целые
S = InputBox("")'Вводим строку
For I = 1 To Len(S)'перебираем ее посимвольно
  Select Case Mid$(S, I, 1)'если символ - 
  Case "0" To "9": J = J + 1: Mid$(S, J, 1) = Mid$(S, I, 1)' - цифра, записываем её в позицию J, увиличив J на 1-цу перед этим
  End Select
Next I
S = Left$(S, J)'Обрезаем строку по последней цыфре
MsgBox S'выдаем
End Sub'КОНЕЦ
Добавлено через 8 часов 56 минут
А блок
Visual Basic
1
2
3
  Select Case Mid$(S, I, 1)'если символ - 
  Case "0" To "9": J = J + 1: Mid$(S, J, 1) = Mid$(S, I, 1)' - цифра, записываем её в позицию J, увиличив J на 1-цу перед этим
  End Select
можно заменить таким выражением
Visual Basic
1
if isnumeric(Mid$(S, I, 1))then j=j+1:Mid$(S, J, 1) = Mid$(S, I, 1)
0
52 / 1 / 0
Регистрация: 17.10.2011
Сообщений: 46
08.01.2012, 14:49  [ТС]
А как объяснить эту строчку?
Visual Basic
1
Mid$(S, J, 1) = Mid$(S, I, 1)
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
08.01.2012, 17:06
Цитата Сообщение от olya-neznakomce
А как объяснить эту строчку?
Mid$(S, J, 1) = Mid$(S, I, 1)
В двух словах я уже объяснял: если Mid$(S, I, 1)' - цифра, записываем её в позицию J, увиличив J на 1-цу перед этим.
Но читать первоисточники по любому не лишнее!
Цитата Сообщение от F1
Mid Statement - Replaces a specified number of characters in a Variant (String) variable with characters from another string.
Syntax
Mid(stringvar, start[, length]) = string

Mid Function - Returns a Variant (String) containing a specified number of characters from a string.
Syntax
Mid(string, start[, length])
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
08.01.2012, 19:32
Этот цикл грубо говоря выдирает со строки все цифры и размещает их в начале этой й же строки:

Не по теме:

Оч. оригинально :)

Миниатюры
Вводится строка, в ней нужно удалить все символы кроме цифр  
1
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
10.01.2012, 18:41
прям без цикла не обойтись?
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
10.01.2012, 19:05
Можно и без цикла
Visual Basic
1
2
3
4
5
6
7
Sub bb()
With CreateObject("vbscript.regexp")
    .Pattern = "\D"
    .Global = True
    MsgBox .Replace(InputBox("Введите строку", , "https://www.cyberforum.ru/vba/thread409551.html"), "")
End With
End Sub
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
10.01.2012, 19:08
Цитата Сообщение от Казанский Посмотреть сообщение
.Pattern = "\D"
это не перегиб?
0
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
10.01.2012, 19:11
А в чем проблема?
\d Matches a digit character. Equivalent to [0-9]
\D Matches a non-digit character. Equivalent to [^0-9]
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
10.01.2012, 19:12
по условию НЕ
Visual Basic
1
 .Pattern = "[^1234567890АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюяABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]"
Добавлено через 45 секунд
Цитата Сообщение от Казанский Посмотреть сообщение
А в чем проблема?
\d Matches a digit character. Equivalent to [0-9]
\D Matches a non-digit character. Equivalent to [^0-9]
вижу, буду знать!!, спасибо
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
10.01.2012, 20:34
Цитата Сообщение от Diskretor Посмотреть сообщение
Этот цикл грубо говоря выдирает со строки все цифры и размещает их в начале этой й же строки:
Так вопрос так и звучал примерно?
Цитата Сообщение от olya-neznakomce Посмотреть сообщение
Вводится строка, в ней нужно удалить все символы кроме цифр
0
 Аватар для VistaSV30
986 / 330 / 79
Регистрация: 10.04.2012
Сообщений: 1,239
Записей в блоге: 4
31.10.2023, 09:56
Еще вариант
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Function Число(stroka) As Double 
 
    Static objRegExp As Object
    
     If objRegExp Is Nothing Then
         Set objRegExp = CreateObject("VBScript.RegExp")
         objRegExp.Global = True
         objRegExp.Pattern = "[^0-9]"
     End If
     
     Число = Val(objRegExp.Replace(stroka, ""))
     
 End Function
0
31.10.2023, 10:39

Не по теме:

не прошло и полголда....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.10.2023, 10:39
Помогаю со студенческими работами здесь

Вводится строка. Удалить все символы, совпадающие с первым символом данной строки C#
Доброго времени. Нужна помощь в создании данной программы

Удалить все символы, кроме латинских букв и цифр, а все большие лат. буквы сделать маленькими
всем привет, помогите исправить код программы. суть проги в том чтобы вводились множество символов пример: ASD$%^45%^hg и чтобы вывелось:...

Удалить из однотипных строчек все буквы и символы кроме цифр
есть переменная в которой храниться значение вот такого типа bet.html?hl=15157999. мне нужно получить только цифры как это сделать. все...

Удалить через регулярку все символы кроме запятой и цифр
Что за регулярное выражение которое удалит из строчки все символы кроме запятой и цифр? И сразу по возможности заменит двойные запятые ',,'...

Удалить все символы из строки кроме группы(известно количество) цифр
Ребят подскажите как будет лучше реализовать сделующую задачу: в поле мемо имеется порядка 10 000 строк примерно такого содержимого:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru