0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 275
1

Вырезать часть строки

05.02.2018, 13:38. Показов 16064. Ответов 5
Метки нет (Все метки)

Доброго дня! Нужна помощь профессионалов

Имеется строка:

Размер файла 'D:\mail\Moscow\05serjant\Проверка.txt' превышает 19 мегабайт
Мне необходимо в одну переменную записать чтобы получилось:

Размер файла 'Проверка.txt' превышает 19 мегабайт
(т.е. удаляем после первой одинарной кавычки и до последнего знака "" включая его)

Во вторую переменную записать 05serjant
(т.е. между двумя последними символами "" и"")
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2018, 13:38
Ответы с готовыми решениями:

Вырезать из строки
Есть файл с именем в формате "*-SYS-xxx-XXX-xxxxxx-DOM-xxx-*.txt" где, xxx - числа, SYS и DOM -...

Вырезать часть строки
Подскажите пожалуйста, как из такого текста - <div class="market_listing_row...

Вырезать часть строки
Нужно вырезать кусок строки по шаблону. Строка вида блаблабла - Episode *** ( цифра варьируется от...

Как вырезать часть строки?
Есть номер телефона из 11 чисел, мне нужно взять оттудаго все цифры кроме первого к примеру у...

5
Покинул форум
3754 / 1207 / 322
Регистрация: 07.05.2015
Сообщений: 2,394
05.02.2018, 14:55 2
Решение "в лоб":
Код
PS E:\> $s = "Размер файла 'D:\mail\Moscow\05serjant\Проверка.txt' превышает 19 мегабайт"

PS E:\> $g = [Regex]::Match($s, "^(.+)'(.+)'(.+)$").Groups

PS E:\> $v1 = "$($g[1])'$(Split-Path -Leaf $g[2])'$($g[3])"
PS E:\> $v1
Размер файла 'Проверка.txt' превышает 19 мегабайт

PS E:\> $v2 = Split-Path -Leaf ([IO.FileInfo]"$($g[2])").Directory
PS E:\> $v2
05serjant
Чуть попозже может напишу решение через единственную регулярку.
0
4213 / 1583 / 274
Регистрация: 10.12.2013
Сообщений: 5,498
05.02.2018, 15:36 3
можно использовать функцию split, используя в качестве разделителя кавычку и бэкслэш.

PowerShell
1
2
$str = "Размер файла 'D:\mail\Moscow\05serjant\Проверка.txt' превышает 19 мегабайт"
$c = $str -split "['\\]"
$c - это масссив.

В переменную $c[-1] попадёт превышает 19 мегабайт
В переменную $c[-2] попадёт Проверка.txt
В переменную $c[-3] попадёт 05serjant
В переменную $c[0] попадёт Размер файла

Останется только собрать из этих частей желаемое.
1
1882 / 1106 / 426
Регистрация: 22.01.2016
Сообщений: 3,050
05.02.2018, 15:51 4
Лучший ответ Сообщение было отмечено Dimasik1989 как решение

Решение

Ещё один простой вариант:

PowerShell
1
2
3
4
5
6
$str = "Размер файла 'D:\mail\Moscow\05serjant\Проверка.txt' превышает 19 мегабайт"
 
$A = $str -replace "'.+\\","'"
$B = ([regex]::Match($str,"'.+\\(.+)\\")).Groups[1].Value
 
$A; $B
Код
Размер файла 'Проверка.txt' превышает 19 мегабайт
05serjant
1
0 / 0 / 0
Регистрация: 12.06.2016
Сообщений: 275
05.02.2018, 16:00  [ТС] 5
Супер! Спасибо всем.
0
Покинул форум
3754 / 1207 / 322
Регистрация: 07.05.2015
Сообщений: 2,394
05.02.2018, 16:31 6
До кучи:
PowerShell
1
2
$s = "Размер файла 'D:\mail\Moscow\05serjant\Проверка.txt' превышает 19 мегабайт"
$a, $b = $s -replace "(.+)'.+?([\w-]+)\\([\w-]+\.\w+)+'(.+)", '$1''$3''$4;$2' -split ';'
Добавлено через 6 минут

Не по теме:

KDE777, бенчмарки?

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2018, 16:31
Помогаю со студенческими работами здесь

Как вырезать часть строки из данной строки ?
Еще вопрос! Как вырезать часть строки из данной строки ? Т.е. есть строка s='pasha', нада вырезать...

Вырезать из строки определенную часть текста
Доброго дня. Такая ситуация. Имеется форма, на ней textBox, в этот textBox подгружается строчка...

Вырезать из исходной строки часть текста
Необходимо нарисовать алгоритм программы (из введенной строки выделить подстроку. Вырезать (любым...

Вырезать часть строки в помощью match()
Здравствуйте форумчане, пытаюсь из строки вырезать верстку в отдельную переменную методом match,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru