PHP удалить одну букву из длинной строки только один раз? - PullRequest
1 голос
/ 07 мая 2009

Мне нужно удалить один символ из строки, например, в текстовом блоке ниже, мне нужно иметь возможность удалить ОДИН из символов j.

djriojnrwadoiaushd

уход:

driojnrwadoiaushd

Ответы [ 6 ]

4 голосов
/ 07 мая 2009

Вы также можете использовать str_relpace с параметром $ count: $ str = 'djriojnrwadoiaushd'; echo str_replace ('j', '', $ str, 1);

Упс, извините .. мой плохой.


Вот реальный путь:

$str = 'djriojnrwadoiaushd';
$pos = strpos( $str, 'j' );
if( $pos !== FALSE )
{
    echo substr_replace( $str, '', $pos, 1 );
}
3 голосов
/ 07 мая 2009

Просто используйте подстроки:

<?php

$str = 'djriojnrwadoiaushd';
$remove = 'j';

$index = strpos($str, $remove);
if ($index !== false)
    $str = substr($str, 0, $index) . substr($str, $index + 1);

echo $str;

?>
2 голосов
/ 07 мая 2009

Отойди - я знаю регулярные выражения;

$newString = preg_replace("/".preg_quote($stringToReplace)."/", '', $inputString, 1);
1 голос
/ 07 мая 2009

Попробуйте это:

$needle = 'j';
if (($pos = strpos($str, $needle) !== false) {
    $str = substr($str, 0, $pos) . substr($str, $pos+strlen($needle));
}
0 голосов
/ 07 мая 2009

Вы также можете использовать тот факт, что строки в PHP являются массивами, и удалить элемент, соответствующий 'j':

$str[strpos($str, 'j')] = null;
0 голосов
/ 07 мая 2009

strpos () возвращает положение первой иглы в стоге сена, т.е. первый J в вашей строке. Тогда довольно просто удалить это письмо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...