7 / 7 / 2
Регистрация: 11.09.2011
Сообщений: 128
1

Функция, которая обрезает все символы не являющиеся прописными буквами кирилицы

25.09.2012, 11:59. Показов 1428. Ответов 2
Метки нет (Все метки)

Хочу поделиться функцией, которая обрезает все символы не являющиеся прописными буквами кириллицы (можно подкорректировать под себя:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Function fun_Ignor_Incorrect_Symbols(byVal string_to_Change)
    Dim i
    Dim output_String
    Set objRegExp = CreateObject("VBScript.RegExp")
    objRegExp.Global = True
    objRegExp.Pattern = "[а-я]"
    Set objMatches = objRegExp.Execute(string_to_Change)
    For i = 0 To objMatches.Count - 1
        output_String = output_String & objMatches.Item(i)
    Next
    fun_Ignor_Incorrect_Symbols = output_String
End Function
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2012, 11:59
Ответы с готовыми решениями:

Создать очередь, содержащую любые символы. Удалить из очереди все символы, не являющиеся буквами или цифрами
Используя динамические структуры, реализовать следующие задания. Вспомо*гательные функции должны...

Дан текст, в который входят любые символы. Удалить из него все символы не являющиеся буквами или цифрами
Дан текст, в который входят любые символы. Удалить из него все символы не являющиеся буквами или...

Удалить все символы, не являющиеся буквами
Доброго времени суток. Очень нужна помошь в написании кода к задачке. Вот задача: Дана строка....

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

2
Эксперт WindowsАвтор FAQ
17779 / 7515 / 888
Регистрация: 25.12.2011
Сообщений: 11,288
Записей в блоге: 16
26.09.2012, 00:17 2
Спасибо. Для этого не обязательно использовать объекты:
Visual Basic
1
2
3
4
5
6
7
Function Cut_Cyrillic_UCase(byval St)
Dim NewSt, i, L
For i = 1 To Len(St)
    L = Mid$(St, i, 1)
    If L Like "[а-яіґёєї]" Then NewSt = NewSt & L
Next
Cut_Cyrillic_UCase = NewSt
Или такая, если требуется вырезать не только кириллические:
Visual Basic
1
2
3
4
5
6
7
Function Cut_UCase(byval St)
Dim NewSt, i, L
For i = 1 To Len(St)
    L = Mid$(St, i, 1)
    If L = LCase (L) Then NewSt = NewSt & L
Next
Cut_UCase = NewSt
0
7 / 7 / 2
Регистрация: 11.09.2011
Сообщений: 128
26.09.2012, 07:16  [ТС] 3
Цитата Сообщение от Dragokas Посмотреть сообщение
Спасибо. Для этого не обязательно использовать объекты:
Visual Basic
1
2
3
4
5
6
7
Function Cut_Cyrillic_UCase(byval St)
Dim NewSt, i, L
For i = 1 To Len(St)
    L = Mid$(St, i, 1)
    If L Like "[а-яіґёєї]" Then NewSt = NewSt & L
Next
Cut_Cyrillic_UCase = NewSt
Или такая, если требуется вырезать не только кириллические:
Visual Basic
1
2
3
4
5
6
7
Function Cut_UCase(byval St)
Dim NewSt, i, L
For i = 1 To Len(St)
    L = Mid$(St, i, 1)
    If L = LCase (L) Then NewSt = NewSt & L
Next
Cut_UCase = NewSt
К сожалению ваш код не будет работать в VBS. Я писал свой скрипт именно для VBS в QTP. И я тут немного подкорректировал то, что написал выше:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function fun_Ignor_Incorrect_Symbols(byVal string_to_Change)
    Dim i
    Dim output_String
    Set objRegExp = CreateObject("VBScript.RegExp")
    objRegExp.Global = True
    objRegExp.Pattern = "[а-я]|[А-Я]| "
    Set objMatches = objRegExp.Execute(string_to_Change)
    For i = 0 To objMatches.Count - 1
        If objMatches.Item(i) = "й" Then
            output_String = output_String & "и"
        Else If objMatches.Item(i) = "ё" Then
            output_String = output_String & "е"
        Else
            output_String = output_String & objMatches.Item(i)
        End If
        End If
    Next
    fun_Ignor_Incorrect_Symbols = output_String
End Function
Теперь оставлсяет всю кирилицу (заглавные и прописные буквы) с пробелами
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2012, 07:16

Удалить из строки все символы, не являющиеся буквами
1. Дана символьная строка. Удалить из нее все символы не являющиеся буквами.

Удалить из строки все символы, не являющиеся буквами
Необходимо удалить из строки все символы, не являющиеся буквами при помощи функции высшего порядка...

Удалить все символы в строке, не являющиеся буквами
Удалить все символы в строке, не являющиеся буквами, а также заменить множественные пробелы одним.

Удалить все символы, не являющиеся латинскими буквами
помогите найти ошибку Удалить все символы, не являющиеся латинскими буквами program zad; var...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.