Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
stark
1

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

24.01.2012, 07:25. Показов 2722. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите пожалуйста, необходимо написать код для следующей задачи: мы должны ввести строку с двумя двоеточиями (вавава:попопо:гагага) и программа должна выделить только ту часть которая находиться между двоточиями (попопо)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2012, 07:25
Ответы с готовыми решениями:

Вывести часть строки, которая находится между первым и последним пробелами
Задана строка A. Вывести часть строки, которая находится между 1-ым и последним пробелами.

Перевернуть часть эл-ов списка, которая находится между 1ым из отрицательных и последним из неотрицательных
Дан список из n целых чисел a1,a2,..,an. "Перевернуть" ту часть эл-ов списка, которая находится...

Выделить часть строки между второй и третьей точками
Дана строка символов, содержащая три символа точки и заканчивающаяся символом «;». Выделить часть...

Составить подпрограмму. которая подсчитывает количество гласных букв находящихся между 1-м и 2-м двоеточиями
Составить подпрограмму . которая подсчитывает количество гласных букв находящихся между первым и...

10
90 / 37 / 14
Регистрация: 03.11.2010
Сообщений: 429
24.01.2012, 08:46 2
Что такое выделить?
И где находится Ваша вавава:попопо:гагага
0
62 / 62 / 1
Регистрация: 22.12.2011
Сообщений: 1,440
24.01.2012, 11:12 3
Visual Basic
1
2
3
4
5
6
Dim sVal As String, sInter As String
Dim iFirst As String, iLast As String
sVal = "вавава:попопо:гагага"
iFirst = InStr(sVal, ":")
iLast = InStrRev(sVal, ":")
sInter = Mid(sVal, iFirst + 1, iLast - iFirst - 1)
Выведет: "попопо"

Но если sVal = "вавава:поп:опо:гагага",
То выведет "поп:опо"

В общем вырезает всё, что находится между первым и последним двоеточием
0
stark
24.01.2012, 15:05 4
через inputbox мы вводим любую строку где есть два двоеточия и то что попадает между ними программа должна нам вывести (msgbox)
stark
24.01.2012, 15:06 5
Цитата Сообщение от Димит Посмотреть сообщение
Что такое выделить?
И где находится Ваша вавава:попопо:гагага
через inputbox мы вводим любую строку где есть два двоеточия и то что попадает между ними программа должна нам вывести (msgbox)
stark
24.01.2012, 15:13 6
Цитата Сообщение от xtreme Посмотреть сообщение
Visual Basic
1
2
3
4
5
6
Dim sVal As String, sInter As String
Dim iFirst As String, iLast As String
sVal = "вавава:попопо:гагага"
iFirst = InStr(sVal, ":")
iLast = InStrRev(sVal, ":")
sInter = Mid(sVal, iFirst + 1, iLast - iFirst - 1)
Выведет: "попопо"

Но если sVal = "вавава:поп:опо:гагага",
То выведет "поп:опо"

В общем вырезает всё, что находится между первым и последним двоеточием
спасибо большое, но мне надо чтобы ввод происходил через inputbox, а вывод через msgbox. я попробовал подправить, но он начал ругаться на iLast As String, буду сильно благодарен если поможете еще раз
stark
24.01.2012, 15:18 7
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub gh()
Dim k, l As String
Dim sVal As String
Dim sInter As String
Dim iFirst As String
Dim iLast As String
l = InputBox("ââîä ")
sVal = l
 
iFirst = InStr(sVal, ":")
iLast = InStrRev(sVal, ":")
sInter = Mid(sVal, iFirst + 1, iLast - iFirst - 1)=k
msgbox("результат ") & k
End Sub
вот так я сделал
62 / 62 / 1
Регистрация: 22.12.2011
Сообщений: 1,440
24.01.2012, 16:00 8
Извиняюсь, ошибочка вышла...

вместо
Visual Basic
1
Dim iFirst As String, iLast As String
нужно
Visual Basic
1
Dim iFirst As Integer, iLast As Integer
InStr и InStrRev возвращают Variant (Long), справка VBA

Я бы предложил вот так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub gh()
Dim sVal As String, sInter As String
Dim iFirst As Integer, iLast As Integer
 
sVal = InputBox("ââîä ")
 
If Len(Trim(sVal)) = 0 Then
  MsgBox prompt:="Íè ÷åãî íå ââåäåíî", Title:="Îøèáêà"
  Exit Sub
End If
 
 
iFirst = InStr(sVal, ":")
iLast = InStrRev(sVal, ":")
sInter = Mid(sVal, iFirst + 1, iLast - iFirst - 1)
MsgBox "ðåçóëüòàò " & sInter
End Sub
0
stark
24.01.2012, 16:06 9
скажите пожалуйста, что тут написано MsgBox prompt:="Íè ÷åãî íå ââåäåíî", Title:="Îøèáêà"
62 / 62 / 1
Регистрация: 22.12.2011
Сообщений: 1,440
24.01.2012, 16:26 10
Visual Basic
1
MsgBox prompt:="Не было ни чего введено", Title:="Ошибка"
0
stark
24.01.2012, 19:31 11
спасибо большое, работает великолепно
24.01.2012, 19:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2012, 19:31
Помогаю со студенческими работами здесь

Определить количество символов между первой и последней двоеточиями строки
Определить количество символов между первой и последней двоеточиями строки.

Выбрать из строки только то, что находится между символом собаки (@) и процента (%)
Добрый день! Предположим, имеется файл с таким содержанием: @line1%trash1 trash2 trash3 ...

Выделить часть текста между словами, вводимыми с клавиатуры
Вот сообственно задание: Выделить часть текста между словами, вводимыми с клавиатуры. ...

Выделить часть текста между словами, которые вводятся с клавиатуры
вот сообственно задание 8. Виділити частину тексту між словами, що вводяться з клавіатури....


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru