Php вырезать запятые в строке

Удалите лишние запятые из строки Переполнение стека

Я отфильтровал некоторые ключевые слова из строки, чтобы удалить недопустимые, но теперь у меня много лишних запятых. Как мне удалить их, чтобы я пошел от этого:

Этот вопрос уникален, потому что он также имеет дело с запятыми в начале и в конце.

Решение

$string = preg_replace("/,+/", ",", $string); 

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

Ой, забыл: убрать запятые перед или после, используйте

Другие решения

Используйте PHP взорваться () а также array_filter () функции.

1) Разнесите строку запятой.

3) Отфильтруйте его array_filter() , Это удалит пустые элементы из массива.

4) Опять implode() результирующий массив с запятой.

5) Вы получите запятые удалены из строки.

Вы также можете достичь этого с помощью preg_split а также array_filter ,

$string = ". apples. oranges,pears,,kiwis,,"; $keywords = preg_split("/[\s,]+/", $string); $filterd = array_filter($keywords); echo implode(",",$filterd); 
  1. разделить запятой «» в массив
  2. используйте array_filter для удаления пустых индексов.
  3. взорвать массив с «,» и распечатать.

Из руководства: preg_split — Разделить строку регулярным выражением (PHP 4, PHP 5, PHP 7)

Как насчет использования preg_replace и trim?

$str='. apples. oranges,pears,,kiwis,,'; echo trim( preg_replace('@,@',',',$str), ','); 

Источник

Русские Блоги

Метод PHP для удаления запятой в начале или в конце строки

PHP удаляет запятую в начале или конце строки

Убрать последнюю запятую в конце

 $str = "a,b,c,d,"; echo rtrim($str, ","); Возвращенный результат: a,b,c,d 

Удалите начальную запятую

 $str = ",a,b,c,d"; echo ltrim($str, ","); Возвращенный результат: a,b,c,d 

Часто используемые функции

Функция trim () удаляет пустые символы и другие предопределенные символы с обоих концов строки.
trim(string,charlist)
строка Обязательно. Задает строку для проверки.
список символов не является обязательным. Задает строку, которую нужно преобразовать. Если этот параметр не указан, удаляются все следующие символы:
“\0” — NULL
“\t” — tab
“\n” — new line
«\ x0B» — вертикальный символ списка
«\ r» — введите
«» — обычные пробельные символы
Функция rtrim () удаляет пробелы или другие предопределенные символы из конца строки.
строка Обязательно. Задает строку, которую нужно преобразовать.
список символов не является обязательным. Определяет, какие символы удалить из строки. Если этот параметр не задан, удаляются все следующие символы:
“\0” — ASCII 0, NULL
«\ t» -ASCII 9, табуляция
«\ n» -ASCII 10, новая строка
«\ x0B» -ASCII 11, вертикальная табуляция
«\ r» -ASCII 13, нажмите ввод
«» -ASCII 32, пробел
Функция ltrim () удаляет пробелы и другие предопределенные символы с левой стороны строки.
строка Обязательно. Задает строку, которую нужно преобразовать.
список символов не является обязательным. Определяет, какие символы удалить из строки. Если этот параметр не задан, удаляются все следующие символы:
“\0” — ASCII 0, NULL
«\ t» -ASCII 9, табуляция
«\ n» -ASCII 10, новая строка
«\ x0B» -ASCII 11, вертикальная табуляция
«\ r» -ASCII 13, нажмите ввод
«» -ASCII 32, пробел

Источник

Как убрать запятую из строки

у меня на сайте фраза — » Вы можете купить продукцию производителя Lenovo,
где — Lenovo — берется из базы. Производителей может быть много. а вот как сделать чтобы запятая в конце не выводилась.
вот окончание предложения

while($row_sort_proizv = mysql_fetch_assoc($query_count_proizv)) { echo $row_sort_proizv['name'].', '; // здесь беру производителя из базы и перечисляю через запятую } echo '.

'
; //а здесь точка на конце предложения

Как убрать последнюю запятую в цикле
Есть БД, от туда берется число сколько раз должен повторятся цикл, как сделать так, чтобы последней.

как извлечь данные в виде строки через запятую?
ГОспода, мне нужно извлечь данные из базы в виде строки. она будет предствлять из себя перечисление.

Убрать запятую из строки
Есть код, который берет строку из Edit var stroka: string; begin stroka := Edit1.Text;.

Убрать запятую в конце строки. Очень нужно
Доброго времени суток, полный чайник в access, и вопрос довольно нелепый, перейдем к вопросу.

Источник

Удалить запятую из строки в php

Как получить такие значения, как 2,4,5,6 от ,2,,4,5,6 где две или более последовательных запятых заменяются одной запятой, и если запятая ставится перед любым значением, она игнорируется. Если есть только запятые типа . тогда возвращается пустое значение.

4 ответа

Вы можете explode сначала строка через запятую, а затем implode после фильтрации пустых строк.

$val=",2,,4,5,6"; $parts=explode(",",$val); $parts=array_filter($parts); echo(implode(",",$parts)); 

Обратите внимание, что это также будет фильтровать 0 от ваших ценностей. Если вы хотите сохранить нули, обратитесь к этому вопросу

Вы можете сделать то, что вы сделали с вашей первой проблемой.

Затем используйте trim(), чтобы удалить ненужные запятые в начале или конце строки.

$mystring = ',2,,4,5,6'; $output = str_replace(',,', ',', $mystring); echo trim($output, ','); //Output will be: 2,4,5,6 
// Variable Declaration for String $str = "1,2,,4,5,6"; // Create Array Out of the String, The comma ',' is the delimiter // This would output // [ 1 => 1, 2 => 2, 3 => '', 4 => 4, 5 => 5, 6 => 6 ] $explodedStr = explode(',', $str); // Filter Array And Remove The empty element which in this case // 3 => '' $filteredArray = array_filter( $explodedStr ); // Convert Array into String with comma delimiter $formattedString = implode(',', $filteredArray); 
  1. Обрежьте все запятые в начале и в конце строки, потому что они не являются полезными разделителями.
  2. Сопоставьте одну или несколько запятых, которые стоят сразу после запятой.

В моем шаблоне я сопоставляю запятую, а затем забываю ее с помощью \K , затем сопоставьте одну или несколько запятых. Затем эти лишние запятые заменяются пустой строкой.

$string = ',1,2,,4,5. 6. '; echo preg_replace('/,\K,+/', '', trim($string, ',')); // 1,2,4,5,6 

Источник

PHP удаляет запятые из числовых строк

В PHP у меня есть массив переменных, которые являются ВСЕМИ строками. Некоторые из сохраненных значений представляют собой числовые строки с запятыми.

Способ обрезать запятые из строк и ТОЛЬКО делать это для числовых строк. Это не так просто, как кажется. Основная причина заключается в следующем:

$a = "1,435"; if(is_numeric($a)) $a = str_replace(',', '', $a); 

Это терпит неудачу, потому что $a = «1435» является числовым. Но $a = «1,435» не является числовым. Поскольку некоторые из строк, которые я получаю, будут регулярными предложениями с запятыми, я не могу выполнить замену строки на каждой строке.

Не проверено, но возможно что-то вроде if(preg_match(«/^[0-9,]+$/», $a)) $a = str_replace(. )

$a = "1,435"; $b = str_replace( ',', '', $a ); if( is_numeric( $b ) )
$var = intval(preg_replace('/[^\d.]/', '', $var)); 

или если вам нужно поплавок:

$var = floatval(preg_replace('/[^\d.]/', '', $var)); 
 function cleanData($a) < if(is_numeric($a)) < $a = preg_replace('/[^0-9,]/s', '', $a); >return $a; > 

Попробуйте это. Это сработало для меня

если вы используете number_format, как этот number_format(1235.369,2) ответ будет 1,235,37

но если вы используете, как показано ниже

number_format(1235.369,2,’.’,») ответ будет 1235.37

Если вы хотите удалить запятую из чисел внутри строки, которая также содержит слова, самым простым способом, я думаю, будет использование preg_replace_callback :

$str = «Hey hello, I’ve got 12,500 kudos for you, spend it well»

function cleannr($matches) < return str_replace("," , "" , $matches["nrs"]); >$str = preg_replace_callback ("/(?P4+,1+)/" , "cleannr" , $str); 

«Привет, у меня есть 12500 очков за тебя, хорошо проводите»

В этом случае шаблон (регулярное выражение) отличается от шаблона, указанного в принятом ответе, так как мы не хотим удалять другие запятые (знаки препинания).

Если мы будем использовать /[0-9,]+/ здесь вместо /1+,2+/ выход будет:

«Привет, у меня есть 12500 центов, потому что вы хорошо проводите»

Источник

Читайте также:  Посчитать сумму чисел в числе java
Оцените статью