Обрезать строку после определенного символа

olga.armalita

Client
Регистрация
05.04.2014
Сообщения
194
Благодарностей
42
Баллы
28
Приветствую.
После получения содержимого тестового файла, и запихивания его в список, есть необходимость в каждой строке обрезать все что находиться после символа |
Пример:name:pass | sometext: somenumber
нужно превратить в name:pass.
sometext и somenumber могуть быть произвольными.

Я попытался выполнить все это дело через "обработка текста " - "trim"
выбираю переменную в которой находиться первая строка
"Где обрезать" - "конец"
"Что обрезать" - "свои символы" - "|"
И ложу в новую переменную.
Но после выполнения содержимое переменной "после" не меняется, и полностью совпадает с содержимым переменной "до"
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Trim Это операция для строки. а не для блока текста.
Используйте экшен операции с текстом - Замена
Что ищем: \|.*
заменяем на пустоту
 
  • Спасибо
Реакции: Zoloo и Brinkman

olga.armalita

Client
Регистрация
05.04.2014
Сообщения
194
Благодарностей
42
Баллы
28
Сделал при помощи регулярки
.*(?=\ \|\ )

Только все-таки хотелось бы узнать почему не сработал trim.
 
  • Спасибо
Реакции: CER

olga.armalita

Client
Регистрация
05.04.2014
Сообщения
194
Благодарностей
42
Баллы
28
Trim Это операция для строки. а не для блока текста.
Не совсем понял, я же вроде к строке его и применял, или нет?
Содержимое файла в список, взять первую строку из списка, и ее trim
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Это вообще не для вашего случая. У вас разве | в конце строки? Или в начале? И после/до ничего нет?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Для этой задачи нужно использовать замену
 

olga.armalita

Client
Регистрация
05.04.2014
Сообщения
194
Благодарностей
42
Баллы
28
Ок, понял, спасибо за помощь
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Подскажите как из 99 111 8853767 сделать 99 111 885-37-67 ?
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
Как сделать, все только цифры и все цифры разные, но один формат

88 999 1112233



Требуемый результат 55 333 555-44-11
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
C#:
var number = Convert.ToInt64("88 999 1112233".Replace(" ",""));
var x = String.Format("{0:## ### ###-##-##}",number);
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
А что это у вас за IDE?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Online ide в гугле наберите)
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
А через "Обработка текста" "Замена" Как сделать ?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Никак
 

Ztt7

Client
Регистрация
10.05.2014
Сообщения
146
Благодарностей
7
Баллы
18
А как использовать код что выше? С # код ?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Да.
Только переменную туда подставить нужно

Код:
var number = Convert.ToInt64(project.Variables["Названиепеременной"].Value.Replace(" ",""));
var x = String.Format("{0:## ### ###-##-##}",number);
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 564
Благодарностей
1 367
Баллы
113
Помогите, пожалуйста. Использую Regex для парса и удаление лишнего с переменной.

В переменной: d:\ра\zennopost\tіsd\download\at-cm630057329.mp4
Как мне удалить все, что бы в результате получить только имя: at-cm630057329 ?

Уже заходил в Википедию Зенки по регулярным выражениям, но как удалять до и после определенного символа - так и не догнал. Может кто после того, как поможете решить эту задачу, которая описана выше - дать ссылку на видео, или детальную инструкцию, как удалять до символа и после - что бы я мог понимать, какой символ за что отвечает и какой символ отвечает за удаление до определенной строки?

Заранее, очень благодарен!
 
Регистрация
12.07.2014
Сообщения
916
Благодарностей
373
Баллы
63
Помогите, пожалуйста. Использую Regex для парса и удаление лишнего с переменной.

В переменной: d:\ра\zennopost\tіsd\download\at-cm630057329.mp4
Как мне удалить все, что бы в результате получить только имя: at-cm630057329 ?

Уже заходил в Википедию Зенки по регулярным выражениям, но как удалять до и после определенного символа - так и не догнал. Может кто после того, как поможете решить эту задачу, которая описана выше - дать ссылку на видео, или детальную инструкцию, как удалять до символа и после - что бы я мог понимать, какой символ за что отвечает и какой символ отвечает за удаление до определенной строки?

Заранее, очень благодарен!
Что первое пришло в голову
C#:
(?<=d:\\.*?\\.*?\\.*?\\.*?\\).*(?=\.mp4)
Это если путь к файлам статичен
 
  • Спасибо
Реакции: Gunjubasik

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 794
Благодарностей
2 466
Баллы
113
В переменной: d:\ра\zennopost\tіsd\download\at-cm630057329.mp4
Как мне удалить все, что бы в результате получить только имя: at-cm630057329 ?
Не нужно имя файла вытаскивать регуляркой - для этого есть стандартные методы, возвращающие имя файла, имя папки, имя файла с расширением, расширение файла с пути.
Пример, который вернёт имя файла:
Код:
string path = @"d:\ра\zennopost\tіsd\download\at-cm630057329.mp4";
return Path.GetFileNameWithoutExtension(path);
Но, если уж вообще не терпится использовать что-то подобное, то можно разбить по разделителю, положить результат в массив и извлечь последний элемент.
Пример - результат идентичный, как выше:
Код:
string path = @"d:\ра\zennopost\tіsd\download\at-cm630057329.mp4";
string[] data = path.Split('\\'); 
string name = data[data.Length-1];
return name.Split('.')[0];
 
Последнее редактирование:

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18
как удалить весь текст после определенного слова?
с помощью trim, замены или еще как
 

dihard

Client
Регистрация
08.11.2019
Сообщения
243
Благодарностей
40
Баллы
28

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18

dihard

Client
Регистрация
08.11.2019
Сообщения
243
Благодарностей
40
Баллы
28

dihard

Client
Регистрация
08.11.2019
Сообщения
243
Благодарностей
40
Баллы
28
[\w\W]*?(?=ТВОЕСЛОВО)
как-то так писал по памяти
 
  • Спасибо
Реакции: Zoloo

art22

Client
Регистрация
24.06.2016
Сообщения
487
Благодарностей
74
Баллы
28
Есть много названии в одной строке, Разделяется || друг от друга. Нужно разделить все и писать все с новой строки удаляя || в списке как это сделать?
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 802
Благодарностей
1 474
Баллы
113
  • Спасибо
Реакции: art22

art22

Client
Регистрация
24.06.2016
Сообщения
487
Благодарностей
74
Баллы
28
samsonnn. а в список как его добавить чтобы по одной строке было? при добавлении в список получается одна строка(
 

Вложения

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 802
Благодарностей
1 474
Баллы
113
  • Спасибо
Реакции: art22

art22

Client
Регистрация
24.06.2016
Сообщения
487
Благодарностей
74
Баллы
28
samsonnn. когда получаем результат в переменное, как можно обратно превратить в Петя||Сташ... сделать в одну строку с разделением? попробовал ентер заменить на \|\| не получился
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 802
Благодарностей
1 474
Баллы
113
samsonnn. когда получаем результат в переменное, как можно обратно превратить в Петя||Сташ... сделать в одну строку с разделением? попробовал ентер заменить на \|\| не получился


 
  • Спасибо
Реакции: art22

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)