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

olga.armalita

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

Я попытался выполнить все это дело через "обработка текста " - "trim"
выбираю переменную в которой находиться первая строка
"Где обрезать" - "конец"
"Что обрезать" - "свои символы" - "|"
И ложу в новую переменную.
Но после выполнения содержимое переменной "после" не меняется, и полностью совпадает с содержимым переменной "до"
 
Trim Это операция для строки. а не для блока текста.
Используйте экшен операции с текстом - Замена
Что ищем: \|.*
заменяем на пустоту
 
  • Оценить
Реакции: Zoloo и Brinkman
Сделал при помощи регулярки
.*(?=\ \|\ )

Только все-таки хотелось бы узнать почему не сработал trim.
 
  • Оценить
Реакции: CER
Trim Это операция для строки. а не для блока текста.
Не совсем понял, я же вроде к строке его и применял, или нет?
Содержимое файла в список, взять первую строку из списка, и ее trim
 
Это вообще не для вашего случая. У вас разве | в конце строки? Или в начале? И после/до ничего нет?
 
Для этой задачи нужно использовать замену
 
Ок, понял, спасибо за помощь
 
Подскажите как из 99 111 8853767 сделать 99 111 885-37-67 ?
 
Как сделать, все только цифры и все цифры разные, но один формат

88 999 1112233



Требуемый результат 55 333 555-44-11
 
C#:
Развернуть Свернуть Копировать
var number = Convert.ToInt64("88 999 1112233".Replace(" ",""));
var x = String.Format("{0:## ### ###-##-##}",number);
6e5f9b6059d01a50b28a79c74e2cc86a9598744c.png
 
А что это у вас за IDE?
 
А через "Обработка текста" "Замена" Как сделать ?
 
Никак
 
А как использовать код что выше? С # код ?
 
Да.
Только переменную туда подставить нужно

Код:
Развернуть Свернуть Копировать
var number = Convert.ToInt64(project.Variables["Названиепеременной"].Value.Replace(" ",""));
var x = String.Format("{0:## ### ###-##-##}",number);
 
Помогите, пожалуйста. Использую Regex для парса и удаление лишнего с переменной.

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

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

Заранее, очень благодарен!
 
Помогите, пожалуйста. Использую Regex для парса и удаление лишнего с переменной.

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

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

Заранее, очень благодарен!
Что первое пришло в голову
C#:
Развернуть Свернуть Копировать
(?<=d:\\.*?\\.*?\\.*?\\.*?\\).*(?=\.mp4)
Это если путь к файлам статичен
 
  • Оценить
Реакции: The_vAe
В переменной: 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];
 
Последнее редактирование:
как удалить весь текст после определенного слова?
с помощью trim, замены или еще как
 
[\w\W]*?(?=ТВОЕСЛОВО)
как-то так писал по памяти
 
  • Оценить
Реакции: Zoloo
Есть много названии в одной строке, Разделяется || друг от друга. Нужно разделить все и писать все с новой строки удаляя || в списке как это сделать?
 
Есть много названии в одной строке, Разделяется || друг от друга. Нужно разделить все и писать все с новой строки удаляя || в списке как это сделать?
kiss_15kb.1683926218.png


kiss_19kb.1683926268.png
 
  • Оценить
Реакции: art22
samsonnn. а в список как его добавить чтобы по одной строке было? при добавлении в список получается одна строка(
 

Вложения

  • 2023-05-13_110510.jpg
    2023-05-13_110510.jpg
    37,2 KB · Просмотры: 127
  • Оценить
Реакции: art22
samsonnn. когда получаем результат в переменное, как можно обратно превратить в Петя||Сташ... сделать в одну строку с разделением? попробовал ентер заменить на \|\| не получился
 
samsonnn. когда получаем результат в переменное, как можно обратно превратить в Петя||Сташ... сделать в одну строку с разделением? попробовал ентер заменить на \|\| не получился

kiss_15kb.1683967599.png


kiss_10kb.1683967630.png
 
  • Оценить
Реакции: art22

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