blackeangel
21-02-2017, 00:16
Iska, посмотрите что получилось в этих строках
/system(/.*)? u:object_r:system_file:s0
/system/bin/e2fsck -- u:object_r:fsck_exec:s0
Думаю в них так же пробелы будут. Ну не может один и тот же код, работать по разному на 3х компах.
Поменял вывод групп в одну строку, на:
Debug.Print "[" & .Item(0) & "]" & vbTab & "[" & .Item(1) & "]"
дабы умещалось в окне Immediate. Результат (начало вывода):
/system(/.*)? u:object_r:system_file:s0
[/system(/.*)?] [u:object_r:system_file:s0]
/system/bin/e2fsck -- u:object_r:fsck_exec:s0
[/system/bin/e2fsck] [u:object_r:fsck_exec:s0]
/system/bin/fsck\.f2fs -- u:object_r:fsck_exec:s0
[/system/bin/fsck\.f2fs] [u:object_r:fsck_exec:s0]
/system/bin/fsck_msdos -- u:object_r:fsck_exec:s0
[/system/bin/fsck_msdos] [u:object_r:fsck_exec:s0]
…
Показывайте Ваш код (можете весь проект упаковать в архив и выложить).
blackeangel
21-02-2017, 05:49
Iska,
'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
blackeangel
21-02-2017, 09:02
Iska, проблема решилась удалением всех строк с replace.
Спасибо.
… replace. »
Я подозревал что-то вроде этого.
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.