Как удалить последний символ в строке php
Перейти к содержимому

Как удалить последний символ в строке php

  • автор:

Заменить/Удалить последний символ в строке. PHP

Всем привет еще раз! Появилась такая задача: есть строка типа «s, 2, 55, 465,» нужно последнюю запятую заменить на точку, как это можно сделать? Заранее благодарен за ответы!

На сайте с 20.05.2011
12 сентября 2011, 14:21

$str = «s, 2, 55, 465,»;

echo substr_replace($str, ‘.’, strrpos($str, ‘,’));

cryptex добавил 12.09.2011 в 18:25 или какой формат это $str ещё может быть? если эта запятая будет всегда последним символом вообще, например ещё можно так:

$str = «s, 2, 55, 465,»;

echo substr($str, 0, strlen($str) — 1) . ‘.’;

в теории, на большом объёме данных, будет быстрее первого варианта, но только, если последняя запятая всегда последний символ в строке

На сайте с 21.06.2011
12 сентября 2011, 14:34
cryptex:

$str = «s, 2, 55, 465,»;

echo substr_replace($str, ‘.’, strrpos($str, ‘,’));

cryptex добавил 12.09.2011 в 18:25
или какой формат это $str ещё может быть? если эта запятая будет всегда последним символом вообще, например ещё можно так:

$str = «s, 2, 55, 465,»;

echo substr($str, 0, strlen($str) — 1) . ‘.’;

в теории, на большом объёме данных, будет быстрее первого варианта, но только, если последняя запятая всегда последний символ в строке

как удалить последний символ строки/укоротить строку

Нужно просто отрезать последнюю букву или перевести множественное число в единственное? Если первое — ну потрудитесь уже заглянуть в какой-нибудь «Учебник PHP для самых маленьких».

4 июн 2016 в 13:43

нужно первое я знаю как одно слово сделать, но мне нужна функция потому что слов много и у меня стоит if($a[$i]==$search)
если вы не поняли то там array

4 июн 2016 в 13:46
substr(«Финики», 0, -1)
4 июн 2016 в 14:02

@MasterAlex сделай это ответом, пожалуйста, тогда после редактирования вопроса можно будет похожие вопросы дубликатами делать

4 июн 2016 в 14:05
@strangeqargo MasterAlex а это неправильно для кириллицы.
4 июн 2016 в 14:10

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Если вам доступно расширение mb_string, можно поступить следующим образом

Функция mb_substr() возвращает подстроку первого аргумента, в качестве второго аргумента передается позиция откуда начинается подстрока (в нашем случае начало), а в качестве второго — длина подстроки (текущая длина строки минус один символ).

trim

Можно также задать список символов для удаления с помощью необязательного аргумента characters . Просто перечислите все символы, которые вы хотите удалить. Можно указать конструкцию .. для обозначения диапазона символов.

Возвращаемые значения

Примеры

Пример #1 Пример использования trim()

$text = «\t\tThese are a few words 🙂 . » ;
$binary = «\x09Example string\x0A» ;
$hello = «Hello World» ;
var_dump ( $text , $binary , $hello );

$trimmed = trim ( $text );
var_dump ( $trimmed );

$trimmed = trim ( $text , » \t.» );
var_dump ( $trimmed );

$trimmed = trim ( $hello , «Hdle» );
var_dump ( $trimmed );

$trimmed = trim ( $hello , ‘HdWr’ );
var_dump ( $trimmed );

// удаляем управляющие ASCII-символы с начала и конца $binary
// (от 0 до 31 включительно)
$clean = trim ( $binary , «\x00..\x1F» );
var_dump ( $clean );

Результат выполнения приведённого примера:

string(32) " These are a few words :) . " string(16) " Example string " string(11) "Hello World" string(28) "These are a few words :) . " string(24) "These are a few words :)" string(5) "o Wor" string(9) "ello Worl" string(14) "Example string"

Пример #2 Обрезание значений массива с помощью trim()

$fruit = array( ‘apple’ , ‘banana ‘ , ‘ cranberry ‘ );
var_dump ( $fruit );

array_walk ( $fruit , ‘trim_value’ );
var_dump ( $fruit );

Результат выполнения приведённого примера:

array(3) < [0]=>string(5) "apple" [1]=> string(7) "banana " [2]=> string(11) " cranberry " > array(3) < [0]=>string(5) "apple" [1]=> string(6) "banana" [2]=> string(9) "cranberry" >

Примечания

Замечание: Возможные трюки: удаление символов из середины строки

Так как trim() удаляет символы с начала и конца строки string , то удаление (или не удаление) символов из середины строки может ввести в недоумение. trim(‘abc’, ‘bad’) удалит как ‘a’, так и ‘b’, потому что удаление ‘a’ сдвинет ‘b’ к началу строки, что также позволит её удалить. Вот почему это «работает», тогда как trim(‘abc’, ‘b’) очевидно нет.

Смотрите также

  • ltrim() — Удаляет пробелы (или другие символы) из начала строки
  • rtrim() — Удаляет пробелы (или другие символы) из конца строки
  • str_replace() — Заменяет все вхождения строки поиска на строку замены

User Contributed Notes 2 notes

10 months ago

note there is a behaviour change in php 8

You used to be able to say:
$p1 = trim($_POST[‘p1’]);
This will now throw deprecated warnings if parameter p1 is not set. It is better to say:
$p1 = trim($_POST[‘p1’]??»);
or
$p1 = isset($_POST[‘p1’]) ? trim($_POST[‘p1’]) : null;
or
$p1 = isset($_POST[‘p1’]) ? trim($_POST[‘p1’]) : »;

8 months ago

Note that trim() is not aware of Unicode points that represent whitespace (e.g., in the General Punctuation block), except, of course, for the ones mentioned in this page.

There is no Unicode-specific trim function in PHP at the time of writing (July 2023), but you can try some examples of trims using multibyte strings posted on the comments for the mbstring extension: https://www.php.net/manual/en/ref.mbstring.php

  • Copyright © 2001-2024 The PHP Group
  • My PHP.net
  • Contact
  • Other PHP.net sites
  • Privacy policy

Как удалить последний символ в строке на PHP

Решение задачи такого рода может пригодиться где угодно – например, вы сформировали строку, но вам необходимо удалить лишь 1 символ. Как это сделать?

PHP – проверить последний символ в строке и удалить

Удалим последний символ из строки:

$str = substr($str,0,-1);

Как удалить несколько символов?

$str = substr($str,0,-10); // удалить 10 последних символов

Как узнать самый последний символ в строке?

$lastsymbol = $str;

Используем проверку для удаления последнего символа (запятой)

if ($str == ‘,’)

Ну и напоследок небольшая шпаргалка, найденная в интернете ��

$str = substr("abcdef", 1); // возвращает "bcdef" $str = substr("abcdef", 1, 3); // возвращает "bcd" $str = substr("abcdef", 0, 4); // возвращает "abcd" $str = substr("abcdef", 0, 8); // возвращает "abcdef" // к отдельным символам можно обращаться с помощью фигурных скобок $string = 'abcdef'; echo $string; // выводит a echo $string; // выводит d $str = substr("abcdef", -1); // возвращает "f" $str = substr("abcdef", -2); // возвращает "ef" $str = substr("abcdef", -3, 1); // возвращает "d" $str = substr("abcdef", 0, -1); // возвращает "abcde" $str = substr("abcdef", 2, -1); // возвращает "cde" $str = substr("abcdef", 4, -4); // возвращает "" $str = substr("abcdef", -3, -1); // возвращает "de"

Надеюсь, данная статья была вам полезна �� .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *