11 / 11 / 2
Регистрация: 29.05.2011
Сообщений: 533
1

Замена одного символа

04.03.2019, 11:17. Показов 661. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Необходимо из значения убрать все нули и произвести замену на /
Пример:
1) есть значение 26000000139
2) необходимо убрать все нули посередине и сделать так 26/139
Подскажите, пожалуйста, каким образом возможно реализовать? Спасибо.
Если сделать так:
PHP
1
2
3
4
$search = "0";
$replace = "/";
$newstring = str_replace($search, $replace, $arResult["DISPLAY_PROPERTIES"]["CML2_ARTICLE"]["VALUE"]);
echo "<pre>" .print_r($newstring,1)."</pre>";
То в результате вместо нулей /, т.е. 26//////139
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2019, 11:17
Ответы с готовыми решениями:

Замена символа
Нужна ваша помощь. Есть переменная $a=&quot;123-456-7890&quot;; Нужно привести к виду ...

Замена символа в строке
Здравствуйте! Есть небольшая проблема, в поле базы храниться строка: (какой-то...

Замена символа ударения
Дорогие форумчане, у меня появилась маленькая проблема с заменой символов! когда-то давно я собрал...

Замена символа в строке
$a = &quot;TESTSTR&quot;; for($i = 0; $i &lt;= strlen($a); $i++){ if ($a == &quot; &quot;){ $a...

8
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,186
04.03.2019, 11:50 2
PHP
1
2
$str = '26000000139';
echo $replace = preg_replace('/([1-9]+)(.*)([1-9]{3})/', '$1/$3', $str);
0
11 / 11 / 2
Регистрация: 29.05.2011
Сообщений: 533
04.03.2019, 11:51  [ТС] 3
Причем значение может быть таким: 2100000260669
В итоге должно получиться: 21/260669
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,186
04.03.2019, 11:58 4
PHP
1
2
$str1 = '2100000260669';
echo $replace = preg_replace('/([1-9]+)([0]+)([\d]+)/', '$1/$3', $str1);
1
11 / 11 / 2
Регистрация: 29.05.2011
Сообщений: 533
04.03.2019, 12:07  [ТС] 5
Пифагор, спасибо что откликнулись.
Значение может быть и таким: 07000000019. Итог 07/19
Вариантов значений может быть много, т.к. значение является артикулом товара.
Возможно ли как-то адаптировать процесс приведения к необходимому виду?
0
2169 / 1652 / 840
Регистрация: 10.01.2015
Сообщений: 5,186
04.03.2019, 12:11 6
_marisha, тогда найдите закономерность в артикулах и выложите ЧЕТКОЕ ТЗ.
0
11 / 11 / 2
Регистрация: 29.05.2011
Сообщений: 533
04.03.2019, 13:50  [ТС] 7
Пифагор, Варианты:
1) 01(8 нулей)число
2) 01 (7 нулей)десятки
3) 01 (6 нулей)сотни
4) 1 (9 нулей)число
5) 1 (8 нулей)десятки
6) 1 (7 нулей) сотни
7) 1 (6 нулей)тысячи
8) 1 (5 нулей)10тыс
9) 11 (8 нулей)число - первое значение может быть и 12, и 13, и 14 и т.д.
10) 11 (7 нулей)десятки
11) 11 (6 нулей)сотни

Добавлено через 1 час 6 минут
Пифагор, вариант
PHP
1
echo $replace = preg_replace('/([1-9]+)([0]+)([\d]+)/', '$1/$3', $str1);
подходит. На всякий случай просмотрю некоторые артикулы, но на первый взгляд то что нужно
Спасибо огромное за помощь!
0
1084 / 746 / 364
Регистрация: 09.07.2018
Сообщений: 1,760
04.03.2019, 16:02 8
Цитата Сообщение от _marisha Посмотреть сообщение
Причем значение может быть таким: 2100000260669
В итоге должно получиться: 21/260669
PHP
1
2
3
4
5
$str = '2100000260669';
 
$str = preg_replace('~0{5,}~', '/', $str);
 
echo $str; // 21/260669
?

Добавлено через 17 минут
Цитата Сообщение от _marisha Посмотреть сообщение
Варианты:
1) 01(8 нулей)число
2) 01 (7 нулей)десятки
3) 01 (6 нулей)сотни
4) 1 (9 нулей)число
5) 1 (8 нулей)десятки
6) 1 (7 нулей) сотни
7) 1 (6 нулей)тысячи
8) 1 (5 нулей)10тыс
9) 11 (8 нулей)число - первое значение может быть и 12, и 13, и 14 и т.д.
10) 11 (7 нулей)десятки
11) 11 (6 нулей)сотни
И под эти варианты шаблон тоже подойдёт.
1
11 / 11 / 2
Регистрация: 29.05.2011
Сообщений: 533
05.03.2019, 06:27  [ТС] 9
VNIIAEN, спасибо большое, то что нужно
0
05.03.2019, 06:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.03.2019, 06:27
Помогаю со студенческими работами здесь

Замена первого символа в строке
Народ, как поменять первый символ в строке средствами php? Строка на &lt;span&gt;С&lt;/span&gt;трока ? ...

Замена каждого второго символа в строке
Дана строка &quot;привет всем&quot; . Надо заменить каждый второй символ на &quot;и&quot;.

Самая большая последовательность из одного и того же символа
Помогите пожалуйста. задача по CGI Максимальная последовательность символов. Написать программу,...

Замена нескольких строк в файле начиная с найденой строки до определённого символа
Добрый день, Есть фаил в котором многа строк, например блабла1 блабла2 блабла3 * есть...


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

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

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