Обработка текста. Замена нескольких значений

  • Автор темы Автор темы Dmitry
  • Дата начала Дата начала

Dmitry

Client
Регистрация
03.07.2014
Сообщения
66
Реакции
5
Баллы
8
Всем привет. При обработке текста столкнулся с такой проблемой: у меня есть текст "Цена: 15 000р.", мне нужно взять только "15000". Каким образом обрезать "Цена:", " " и "р." - в одном экшене? Пробовал писать слитно все эти значения, м/у на значениями ставил {-String.Tab-} и {-//-} - не получилось.

4GwMSZ7k1uU.jpg
 
Так делай не заменой, а выбери пункт "Regex" (регулярные выражения) и туда впиши, что нужно взять. В твоем случае просто 15 000 вписать нужно.
 
Ну так, вероятнее всего, ТС нужно обрабатывать и другие цены, потому регулярка нужна не конкретно по поиску числа 15000.
Сразу парсим "15 000" путем проставки в конструкторе регулярных выражений, что идет до и после данного числа. Ну а затем уже убираем пробел путем замены, к примеру, на пустоту.
 
Я бы заменил пробелы на пустоту а потом использовал регулярную \d{1,7}
 
Это если в тексте не будет больше цифр наподобие, например, артикулов или что-то еще типа того )
 
Конечно
 
Ребят, я не совсем понял, какие всё таки разделители поставить в "замене", что бы по нескольким параметрам замена шла?
 
Ребят, я не совсем понял, какие всё таки разделители поставить в "замене", что бы по нескольким параметрам замена шла?
если делать замену по регулярке в режиме Regex, то можно делать конструкцию через: | (или).. например пишем в поле Что искать: (регулярка1)|(регулярка2)|(регулярка3) и т.д..
 
Последнее редактирование:
  • Оценить
Реакции: refrain и Dmitry
Ребят, я не совсем понял, какие всё таки разделители поставить в "замене", что бы по нескольким параметрам замена шла?
Насколько мне известно, так нельзя. Я всегда делаю несколько замен подряд.
Можно сохранять в ту же переменную, с которой берутся данные до замены.
Например, взять переменную Х заменить что-то на пустоту и сохранить в переменную Х же.
 
Насколько мне известно, так нельзя. Я всегда делаю несколько замен подряд.
Можно сохранять в ту же переменную, с которой берутся данные до замены.
Например, взять переменную Х заменить что-то на пустоту и сохранить в переменную Х же.
если делать замену в режиме Regex, то можно..
 
Аа, теперь понял.
Можно использовать разделитель, для того чтобы сделать замену для нескольких условий. То есть для задачи ТС нужно заменить на пустоту (Цена:\ )|(\ )|(р\.) правильно?
Спасибо, не знал, возьму на вооружение.
 
если делать замену по регулярке в режиме Regex, то можно делать конструкцию через: | (или).. например пишем в поле Что искать: (регулярка1)|(регулярка2)|(регулярка3) и т.д..

Большое спасибо! Помогло:-)
 
Т.е. правильно ли я понял, с помощью функции замена, одним экшеном можно заменить только один символ или слово, а с помощью регекс можно одним экшеном сделать массовую замену нескольких символов или слов. Если это так, то подскажите где подробнее почитать, потому что конструкция (регулярка1)|(регулярка2)|(регулярка3), у меня почему то не работает, что я делаю не так?
 

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