Как удалить часть строки?

Как обрезать часть строки и сохранять ее в определенной строке в MySQL с помощью PHP?

Пример строки: "REGISTER 11223344 here"

Как удалить "11223344" из строки примера?

Ответ 1

Если вы специально нацеливаете "11223344", используйте str_replace:

echo str_replace("11223344", "", "REGISTER 11223344 here");

Ответ 2

Вы можете использовать str_replace(), который определяется как:

str_replace($search, $replace, $subject)

Итак, вы можете написать код как:

$subject = 'REGISTER 11223344 here' ;
$search = '11223344' ;
$trimmed = str_replace($search, '', $subject) ;
echo $trimmed ;

Если вам нужно лучше совместить регулярные выражения, вы можете использовать preg_replace().

Ответ 3

Предполагая, что 11223344 не является константой

$string="REGISTER 11223344 here";
$s = explode(" ",$string);
unset($s[1]);
$s = implode(" ",$s);
print "$s\n";

Ответ 4

Сделайте следующее

$string = 'REGISTER 11223344 here';

$content = preg_replace('/REGISTER(.*)here/','',$string);

Это вернет "REGISTERERE"

или

$string = 'REGISTER 11223344 here';

$content = preg_replace('/REGISTER (.*) here/','',$string);

Это вернет "РЕГИСТРАЦИЯ здесь"

Ответ 5

Если вам нужно согласование на основе правил, вам нужно использовать regex

$string = "REGISTER 11223344 here";
preg_match("/(\d+)/", $string, $match);
$number = $match[1];

Это будет соответствовать первому набору чисел, поэтому, если вам нужно более конкретно попробовать:

$string = "REGISTER 11223344 here";
preg_match("/REGISTER (\d+) here/", $string, $match);
$number = $match[1];

Ответ 6

substr() - встроенная функция php, которая возвращает часть строки. Функция substr() будет принимать строку в качестве входных данных, индексную форму, где вы хотите обрезать строку. и необязательный параметр - это длина подстроки. Соответствующую документацию и пример кода вы можете найти на http://php.net/manual/en/function.substr.php

ПРИМЕЧАНИЕ: индекс для строки начинается с 0.

Ответ 7

str_replace(find, replace, string, count)
  • найти Обязательно. Указывает значение для поиска
  • заменить Обязательно. Указывает значение для замены значения в поиске
  • Строка Обязательна. Определяет строку для поиска
  • количество необязательно. Переменная, которая считает количество замен

Ответ 8

Динамически, если вы хотите удалить (а) часть (и) из (а) фиксированного индекса (ов) строки, используйте эту функцию:

/**
 * Removes index/indexes from a string, using a delimiter.
 * 
 * @param string $string
 * @param int|int[] $index An index, or a list of indexes to be removed from string.
 * @param string $delimiter 
 * @return string
 * @todo Note: For PHP versions lower than 7.0, remove scalar type hints (i.e. the
 * types before each argument) and the return type.
 */
function removeFromString(string $string, $index, string $delimiter = " "): string
{
    $stringParts = explode($delimiter, $string);

    // Remove indexes from string parts
    if (is_array($index)) {
        foreach ($index as $i) {
            unset($stringParts[(int)($i)]);
        }
    } else {
        unset($stringParts[(int)($index)]);
    }

    // Join all parts together and return it
    return implode($delimiter, $stringParts);
}

Для вашей цели:

remove_from_str("REGISTER 11223344 here", 1); // Output: REGISTER here

Одним из его применений является выполнение командных строк, которые вы знаете их структуры.

Ответ 9

если вы хотите удалить часть строки из заданной строки это может помочь вам

chop($string,'part_of_string');

Ответ 10

Вы можете сделать это тоже, если вам нравятся другие способы...

function str_substract($remove, $subject){
    $strpos = strpos($subject, $remove);
    return substr($subject, 0, $strpos) . substr($subject, $strpos + strlen($remove));
}

$str = "Hello, world. This is amazing";
print str_substract('rld', $str);

/* Outputs: */
"Hello, wo. This is amazing"

Примечание. Это не будет работать со всеми символами, например со строками Юникода