Тема 7. Работа со строковыми переменными — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Тема 7. Работа со строковыми переменными

2021-05-27 106
Тема 7. Работа со строковыми переменными 0.00 из 5.00 0 оценок
Заказать работу

 

Общие сведения

В Visual Basic имеются следующие функции обработки строк.

 

 Таблица 7.1

Функция Формат и назначение Пример Результат
1 2 3 4
& Слияние строк «При» & «вет» «Привет»
Asc Asc(S) – возвращает ASCII-код первого символа строки S Asc(«a») (a – латинское) 97
Chr Chr(N) – возвращает символ с ASCII-кодом, равным N Chr(97) «a» (латинское)
Lcase LCase(S) – преобразует все символы строки S к нижнему регистру LCase(«STUDENT») «student»
UCase UCase(S) – преобразует все символы строки S к верхнему регистру Ucase(«student») «STUDENT»
Left Left(S, K) – возвращает K символов, вырезанных из строки S слева Left(«Привет», 3) «При»
Right Right(S, K) – возвращает K символов, вырезанных из строки S справа Right(«Привет», 3) «вет»
Mid Mid(S, N, K) - возвращает строку длиной K символов, вырезанную из строки S начиная с N–ой позиции Mid(«Привет», 3, 2) «ив»
Len Len(S) – возвращает длину строки S в символах Len(«Привет») 6
Ltrim LTrim(S) – удаляет в строке S все начальные пробелы Ltrim(«Привет») «Привет»
Rtrim RTrim(S) – удаляет в строке S все конечные пробелы RTrim(«Привет») «Привет»
Trim Trim(S) - удаляет в строке S все начальные и конечные пробелы Trim(«Привет» «Привет»
Space Space(K) – возвращает строку, состоящую из K пробелов Space(6) «  »

 


Продолжение таблицы 7.1

 

1 2 3 4
String String(K, С) – возвращает строку состоящую из K символов С. String(6, «a») «aaaaaa»
StrComp StrComp(S1, S2, [Р]) - возвращает результат сравнения строк S1 и S2. Параметр Р определяет способ сравнения, равный 0 (посимвольное сравнение) или 1 (без учета регистра символов). При S1< S2 возвращает -1 При S1= S2 возвращает 0 При S1> S2 возвращает 1 StrComp(«1», «a») -1
StrReverse StrReverse((S) – преобразует строку в строку из тех же символов, записанных в обратном порядке StrReversr(«ток») «кот»
InStr InStr([ N], S1, S2, [ P]) – возвращает позицию первого вхождения строки S2 в строку S1 начиная с позиции N. Если N не указана, то поиск начинается с первой позиции. Р – определяет критерий поиска и может быть равен 0 или 1 InStr(«мама», «а») 2
InStrRev InStrRev(S1, S2, [ N], [ P]) – то же, что и предыдущая функция, но возвращается последнее вхождение InStrRev(«мама», «а») 4
Replace Replace(S, S1, S2, [K], [N], [P]) Находит в строке S подстроку S1 и, заменяет ее, на подстроку S2. Поиск подстроки S1 начинается с позиции K. По умолчанию поиск начинается с первого символа. N – определяет количество замен. По умолчанию заменяются все найденные подстроки. P – критерий поиска. Может принимать значения 0 или 1. По умолчанию – 0. Если 0, то замена производится только в случае полного совпадения. Если 1, то замена производится без учета регистра Replace(«папа», «п», «м») «мама»

 

 

Примеры

Пример 1.

Даны фамилия имя и отчество человека. Составить сокращенную запись его данных. Например, если дано Иванов Петр Андреевич, то необходимо получить Иванов П. А.

Текст программы:

Private Sub CommandButton1_Click()

S 1 = InputBox ("Введите фамилию", "Ввод фамилии")

S2 = InputBox("Введите имя", "Ввод имени")

S3 = InputBox("Введите отчество", "Ввод отчества")

C1 = Mid(S2, 1, 1)                               ‘ Вырезаются первые буквы

C 2 = Mid (S 3, 1, 1)                               ‘ из имени и отчества

‘ и объединяются в нужном порядке с фамилией, пробелами и

‘ точками

S1 = S1 & " " & C1 & ". " & C2 & "."

MsgBox(S1)

End Sub

Пример 2.

Дана фраза. Выяснить, сколько в ней  мягких знаков?

Текст программы:

Private Sub CommandButton1_Click()

S = InputBox (" S -", "Ввод фразы")      ‘ Вводится фраза

L = Len (S)                         ‘ Определяется ее длина

For I = 1 To L                   ‘ В цикле вырезается по одному

If Mid (S, I, 1) = "ь" Then ‘ символа и проверяется на «ь»

K = K + 1  

End if

Next

MsgBox(K)

End Sub

 


Пример 3

Дана фраза. Слова в ней разделены одним пробелом, а сама фраза заканчивается точкой. Выяснить, сколько в ней трехбуквенных слов?

Текст программы:

Private Sub CommandButton 1_ Click ()

S = InputBox (" S -", "Ввод фразы") ‘ Вводится фраза

L = Len (S)                        ‘ Определяется ее длина

For i = 1 To L                    ‘ В цикле вырезается

S 1 = Mid (S, i, 5)                ‘ по пять символов

‘ и в вырезке проверяются первый и пятый символы.

‘ Если это пробелы (или пятый точка), то слово трехбуквенное

If Mid(S1, 1, 1) = " " And Mid(S1, 5, 1) = " " Or Mid(S1, 5, 1) = "." Then

K = K + 1

End if  

Next                      

MsgBox(K)

End Sub

 

Задания

Номера заданий соответствуют номеру студента по классному журналу.

Во всех заданиях вводится фраза, в которой слова разделены одним пробелом, а сама фраза заканчивается точкой.

1. Дана фраза. Выяснить сколько в ней имен собственных (начинающихся с заглавной буквы).

2. Дана фраза. Выяснить, сколько в ней цифровых символов?

3. Дана фраза. Выяснить, является ли она палиндромом (одинаково читается слева направо и справа – налево)?

4. Дана фраза. Выяснить сколько раз в ней встречается ситуация, когда последняя буква очередного слова совпадает с первой буквой следующего слова.

5. Дана фраза. Выяснить, сколько в ней прилагательных в единственном числе, т. е. слов, оканчивающихся на «-ый», «-ая» и «-ое»?

6. Дана фраза. Определить, сколько в ней символов-разделителей (пробелов, точек, тире, запятых и т. д.)?

7. Дана фраза. Определить, сколько в ней букв (к буквам не относятся символы-разделители – пробелы, точки, тире, запятые и т. д.)?

8. Дана фраза. Определить, сколько в ней «эмоциональных» символов (восклицательных и вопросительных знаков)?

9. Дана фраза. Определить, имеются ли в ней числа, состоящие из одной цифры?

10. Дана фраза. Определить, имеются ли в ней симметричные пятибуквенные слова?

11. Дана фраза. Определить сколько в ней наречий (слов, оканчивающихся на букву «о»)?

12. Дана фраза. Определить, сколько в ней союзов и однобуквенных местоимений?

13. Дана фраза. Зашифровать ее, записав все ее символы в обратном порядке.

14. Дана фраза. В ней между словами может быть и по одному и по два пробела. Преобразовать ее так, чтобы между словами осталось по одному пробелу.

15. С клавиатуры вводятся три слова. Вывести на экран все возможные фразы, которые можно составить из этих трех слов.



Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.014 с.