powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пробел в имени файла
58 сообщений из 58, показаны все 3 страниц
Пробел в имени файла
    #39396332
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Как разбить на колонки строку
Код: sql
1.
File name 0 0 755


По пробелу?
Что делать если имя файла содержит пробел?
Сплит разобьет на 5 столбцов, а надо на 4: file name в первом столбце, а все остальное вследующих.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396333
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На vb6.0 это сделать бы
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396337
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программненько - отдели 3 последних элемента после сплита, остальное сджойни обратно. Ну скажем так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
data = "File name 0 0 755"
arr = split(data)
dim result(3)
for i = 1 to 3
  result(i) = arr(ubound(arr)+i-3)
next
redim preserve arr(ubound(arr)-3)
result(0) = join(arr)


Хотя я бы сделал универсальную функцию...
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396350
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaПрограммненько - отдели 3 последних элемента после сплита, остальное сджойни обратно.
Хотя я бы сделал универсальную функцию...
Вот вот. Универсальное было бы в тему.
Просто бывает не 3, а 4 например.
И количество пробелов в имени файлов бывает разное.
И ещё, какую проверку добавить есть ли в имени пробелы?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396380
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelколичество пробелов в имени файлов бывает разное.Приведённому коду по барабану.

BlackeAngelкакую проверку добавить есть ли в имени пробелы?Нахрена?

BlackeAngelУниверсальное было бы в тему.Пиши, какие сложности?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396395
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,


а если встречается и 3 и 4 и 5 с конца строки? Например.
system/box/book for children 0 0 644 /books/for people
На выходе должно быть 5 столбцов.
Как тут?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396407
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,


Akina,
Проверка нужна для того чтобы не гонять цикл лишний раз. Итак получается цикл в цикле в цикле.
ТК я сначала читаю файл в одну строку, потом бью ее на строки по каретке, потом начинаю перебирать эти строки и делить на столбцы. Но в этих строках по разному, то 5 столбцов то 4 получается. А ТК есть пробелы то все, мол за пределами массива
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396410
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelsystem/box/book for children 0 0 644 /books/for people
На выходе должно быть 5 столбцов.
Не понял... поясни, почему 5.

Или даже не так. Сформулируй правило, по которому можно однозначно идентифицировать, где делить на элементы.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396439
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
5 колонок:
1 system/box/book for children
2 0
3 0
4 644
5 /books/for people

На счет правила. Типа в середине есть цифры с пробелами. Опять же цифры не определены. Все что справа или слева это отдельные столбцы.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396460
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelНа счет правила. Типа в середине есть цифры с пробелами. Опять же цифры не определены. Все что справа или слева это отдельные столбцы.тут лучше и проще регуляркой тогда.


BlackeAngelцифры не определеныкак это не определены? цифр всего десять (у вас в примере вроде арабские цифры)
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396475
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

А сколько комбинаций? 5 форов?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396543
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelв середине есть цифры с пробеламиА в именах файлов их гарантированно нет? тогда после сплита проверяй, в каких элементах массива значения могут интерпретироваться как числа.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396655
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelShocker.Pro,

А сколько комбинаций? 5 форов?да какая разница? есть пять колонок, в средних могут быть только комбинации цифр.
Код: plaintext
"(.*) (\d+) (\d+) (\d+) .*"

и вперед с песней
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396681
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Код: plaintext
"(.*) (\d+) (\d+) (\d+) .*"


и вперед с песней
5 колонок:
1 system/box/book vol. 1
2 0
3 0
4 644
5 /books/for people
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396683
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proесть пять колонок
Нет их, есть только строка. Их то как раз и надо получить.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396702
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сработает или хз?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
for i=48 to 57
for j=48 to 57
for k=48 to 57
for l=48 to 57
for m=48 to 57
Arr=replace(1," "&chr(i)&" "&chr(j)&" "&chr(k)&chr(l)&chr(m),vbTab&chr(i)&vbTab&chr(j)&vbTab&chr(k)&chr(l)&chr(m))
Next
Next
Next
Next
Next
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396712
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не забудь подключить Microsoft RegularExpressions
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim re As New RegExp, result As MatchCollection, i As Integer
re.Pattern = "(.*) (\d+) (\d+) (\d+) (.*)"
Set result = re.Execute("xx uyu oi 87 0 800 uyu iooo")

For i = 0 To 4
  Debug.Print result(0).SubMatches(i)
Next
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396714
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proне забудь подключить Microsoft RegularExpressionsну или поздним связыванием
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim re As Object, result As Object, i As Integer
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "(.*) (\d+) (\d+) (\d+) (.*)"
Set result = re.Execute("xx uyu oi 87 0 800 uyu iooo")

For i = 0 To 4
  Debug.Print result(0).SubMatches(i)
Next
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396721
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так будет правильнее
Код: vbnet
1.
re.Pattern = "^(.*) (\d+) (\d+) (\d+) (.*)$"
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396736
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

А теперь вернемся к проверке.
Если в строке имя файла не содержит пробелы
Типа
system/bin/marr 0 0 550
Ваш код не заткнется? Нормально отработает? Разобьет на 4 столбца?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396755
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если после 550 нет пробела, то заткнется
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396764
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proесли после 550 нет пробела, то заткнется
То есть, все таки надо проверку. Какую? На проверку кол-ва пробелов?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396768
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем? Просто переписать регулярное выражение.
Только вы СНАЧАЛА определитесь со ВСЕМИ возможными обрабатываемыми вариантами, а то у вас техзадание раз пять уже поменялось, совсем нет желания переделывать решение сто раз.

Ну или почитайте про регулярные выражения. В вашем случае они довольно простые и всегда в жизни пригодятся.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39396799
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Так к тому что там присутствуют все варианты что я спрашивал, поэтому нужен либо универсальный код, либо проверка на тот или иной шаблон.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39397040
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Регулярки в VBScript почему-то не поддерживают "просмотр назад". Поэтому получилось чуть сложнее:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim re As Object, result As Object, i As Integer
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "^(.*) (\d+) (\d+) (\d+)( ?(.*))?$"
Set result = re.Execute("system/app/MetokNLP/lib/arm64/liblocSDK 2 5OEMXXX.so 0 0 644")

Debug.Print result(0).SubMatches(0)
Debug.Print result(0).SubMatches(1)
Debug.Print result(0).SubMatches(2)
Debug.Print result(0).SubMatches(3)
Debug.Print result(0).SubMatches(5)
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39397043
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но есть в файле такие строки как:
Код: vbnet
1.
system/app/MetokNLP/lib/arm64/liblocSDK 2 5OEMXXX.so 0 0 644 /system/lib64/liblocSDK 2 5OEMXXX.so

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

С другой стороны, разнообразие чисел в примере ограничено: 0, 2000, 755, 644
Может стоит жестко задать их набор?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39399665
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

0555, 0550,1301 и т.д.
Этих чисел много :(
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404398
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
А как это все затронуть в массив?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404399
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Засунуть в массив
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404402
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.
Private Sub Command1_Click()
Dim objFSO
Dim arrContent
Dim objRegExp

Dim elem
Dim i


Set objFSO = CreateObject("Scripting.FileSystemObject")

With objFSO.OpenTextFile("C:\system_statfile.txt")
    arrContent = Split(.ReadAll(), vbCrLf)
    .Close
End With
ReDim arr(UBound(arrContent), 4)
Set objRegExp = CreateObject("VBScript.RegExp")

objRegExp.Pattern = "^(.+) (\d+) (\d+) (\d+)(?:| (.+))$"
'

    For Each elem In arrContent
For j = 0 To UBound(arrContent)
        If objRegExp.Test(elem) Then
         With objRegExp.Execute(elem).Item(0).Submatches
            For i = 0 To .Count - 1
                        arr(j, i) = .Item(i)
                'WScript.Echo vbTab, i, ": [" & .Item(i) & "]"
            Next
            
        End With
    End If
Next
Stop
Next
End Sub


Что тут не так? Он одну и ту же запись лепит везде. Вот файл. Помогите добить?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404448
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngel
Код: vbnet
1.
2.
    For Each elem In arrContent
For j = 0 To UBound(arrContent)

Зачем два вложенных цикла по одному и тому же массиву? Либо один, либо другой.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404455
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Типы разные: elem - string
j - integer
И одно на другое подменить не прокатит. Как переделать? Что то мозг иссох уже.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404457
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что мешает?
Код: vbnet
1.
2.
For j = 0 To UBound(arrContent)
  elem = arrContent(j)



можно и наоборот
Код: vbnet
1.
2.
For Each elem In arrContent
  j = j + 1
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404458
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще, не очень хорошая идея читать весь файл в память.
Что мешает читать и обрабатывать его построчно?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404466
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProЧто мешает?
Код: vbnet
1.
2.
For j = 0 To UBound(arrContent)
  elem = arrContent(j)



можно и наоборот
Код: vbnet
1.
2.
For Each elem In arrContent
  j = j + 1


Спасибо, 2й вариант оправдал догадки.

А построчно чтение типа долгое...Мне так говорили, но правда это или нет, я не знаю.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39404482
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelА построчно чтение типа долгое...Мне так говорили, но правда это или нет, я не знаю.Если файл небольшой, то загрузка в память целиком - оправдана. С другой стороны, на маленьком файле и разницы не увидишь. Но логи, как правило, длинные, Как думаешь, что произойдет, если попытаешься считать разом 500Мб файл?
Впрочем, промежуточный массив с результатом при большом объеме - тоже не очень хорошая вещь, все зависит от того, что с этими данными планируется делать дальше.

Впрочем, это просто информация на будущее.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407293
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Хорошо, а теперь наступила пора подобрать другой шаблон развивающий на 2 столбца например, такое
/system/children mad u:object_r:childrens mad
Где разделитель на столбцы может быть одним, двумя, тремя ... n пробелами. Вторая часть всегда начинается с u:object_r:
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407331
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
"^(.*) +(u:object_r:.+)$"


BlackeAngelа теперь наступила поравидимо, наступила пора все-таки открыть учебник по регулярным выражениям.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407542
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
все хорошо, только он оставляет пробелы в конце 1го столбца, а этого не надо бы....
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407550
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

в переменных типа такого проскакивает
Код: vbnet
1.
"/system/bin/mcd          "


а хотелось бы чтобы разбивал правильно
Код: vbnet
1.
"/system/bin/mcd"
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407564
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это можно использовать как ваше первое задание по регулярным выражениям.
Добавить после второй группы произвольное количество пробелов, так чтобы они не попадали во вторую группу.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407575
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Так?
Код: vbnet
1.
"^(.*) +(\s) +(u:object_r:.+)$"
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407613
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виноват, я, засыпая, неверно прочел проблему, не второй столбец, а первый....
Надо просто использовать "ленивый квантификатор"
Код: vbnet
1.
"^(.*?) +(u:object_r:.+)$"


По умолчанию "жадный" захапал все пробелы себе в первую группу, "ленивый" оставил.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407746
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
А как еще в конце строки убрать все пробелы во втором столбце?
Что добавить надо ещё?
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407881
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlackeAngelShocker.Pro,
А как еще в конце строки убрать все пробелы во втором столбце?
Что добавить надо ещё?
так их (пробелы) и добавить:
Код: vbnet
1.
"^(.*?) +(u:object_r:.+) *$"
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407941
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Не добавить, а убрать.
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407943
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Те пробелы, которых несколько, перед переносом строки.

Код: vbnet
1.
"/system/bin/sh mini      u:object:r_shell         "
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39407945
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на выходе должно получиться 2 столбца
Код: vbnet
1.
"/system/bin/sh mini" "u:object:r_shell"
...
Рейтинг: 0 / 0
Пробел в имени файла
    #39408065
BlackeAngel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Shocker.Pro]BlackeAngelтак их (пробелы) и добавить:
Код: vbnet
1.
"^(.*?) +(u:object_r:.+) *$"


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


Вот файл - пример
...
Рейтинг: 0 / 0
Пробел в имени файла
    #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
58 сообщений из 58, показаны все 3 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пробел в имени файла
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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