powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пробел в имени файла
8 сообщений из 58, страница 3 из 3
Пробел в имени файла
    #39408176
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему он должен проходить?

BlackeAngel
Код: vbnet
1.
u:object_r:

BlackeAngel
Код: vbnet
1.
u:object:

как говорится, найди восемь отличий
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39408179
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Опечатался, но копи-паст никто не отменял
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39408180
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в чем проблема-то? какой паттерн с какой исходной строкой не проходит?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39408181
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Если брать файл-пример, то первые 2 строки, не проходят по
Код: vbnet
1.
"^(.*?) +(u:object_r:.+) *$"


Во 2 столбце остаются пробелы до конца строки, вот с ними не знай что делать.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39408183
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну тут-то ты правильно ленивый квантификатор добавил к второй группе, иначе она тоже пробелы себе сжирает
20230294
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39408218
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
ну что может быть неправильно? Почему магия то не происходит?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
'file_contexts
file_contexts = CreateObject("Scripting.FileSystemObject").OpenTextFile(App.Path & "\file_contexts", 1).ReadAll
file_contexts = Replace(file_contexts, "  " & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, " " & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, vbTab & vbTab & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, vbTab & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, vbLf, vbCrLf)
'file_contexts = Replace(file_contexts, vbTab, " ")
'file_contexts = Replace(file_contexts, "--", "")
'file_contexts = Replace(file_contexts, "       ", " ")
'file_contexts = Replace(file_contexts, "      ", " ")
'file_contexts = Replace(file_contexts, "     ", " ")
'file_contexts = Replace(file_contexts, "    ", " ")
'file_contexts = Replace(file_contexts, "   ", " ")
'file_contexts = Replace(file_contexts, "  ", " ")
file_contexts = Replace(file_contexts, vbCrLf & vbCrLf, vbCrLf)
'разбиваем на строки
contexts = Split(file_contexts, vbCrLf)
'бьем на столбцы
ReDim arr5(UBound(contexts), 1)
'For i = LBound(contexts) To UBound(contexts)
'    If InStr(1, contexts(i), "#") = 0 Then
'     If InStr(1, contexts(i), "/system/") > 0 Then 'Or InStr(1, contexts(i), "/vendor/") > 0 Then 'âûáèðàåì òîëüêî ïàïêó system è vendor
'          arr = Split(contexts(i))
'        For j = LBound(arr) To UBound(arr)
'            arr5(i, j) = arr(j)
'        Next
'      End If
'    End If
'Next
'через регулярки
Set objRegExp = CreateObject("VBScript.RegExp")
'objRegExp.Pattern = "^(.*) +(u:object_r:.+)$"
'objRegExp.Pattern = "^(.*?) +(u:object_r:.+) *$"
objRegExp.Pattern = "^(.+?)[\s-]+(u:object_r:.*?) *$"
    For Each elem In contexts
    If InStr(1, elem, "/system/") > 0 Then
        If objRegExp.Test(elem) Then
         With objRegExp.Execute(elem).Item(0).Submatches
            For i = 0 To .Count - 1
                        arr5(j, i) = .Item(i)
            Next
            j = j + 1
        End With
   End If
 End If
Next

Erase contexts
contexts = DeleteBlankRows(arr5, 1) 'удаляем пустые строки по 2 столбцу
Erase arr5
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39408259
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паттерн работает нормально
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim re As Object, result As Object, i As Integer
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "^(.+?)[\s-]+(u:object_r:.*?) *$"
Set result = re.Execute("/system/bin/bootanimation u:object_r:bootanim_exec:s0    ")

Debug.Print result(0).SubMatches(0) + "%"
Debug.Print result(0).SubMatches(1) + "%"


думаю, что ты просто накосячил с концами строк

BlackeAngel
Код: vbnet
1.
2.
file_contexts = Replace(file_contexts, "  " & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, vbLf, vbCrLf)

то есть тут, например, получается CR CR LF
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39408262
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Да, сейчас закоментирована все реплайсы и все сработало идеально. Спасибо.
...
Рейтинг: 0 / 0
8 сообщений из 58, страница 3 из 3
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пробел в имени файла
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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