我需要從字符串中刪除單個字符,例如在下面的文本塊中,我需要能夠刪除其中一個j。PHP只從一個長字符串中刪除一個字母只有一次?
djriojnrwadoiaushd
離開:
driojnrwadoiaushd
我需要從字符串中刪除單個字符,例如在下面的文本塊中,我需要能夠刪除其中一個j。PHP只從一個長字符串中刪除一個字母只有一次?
djriojnrwadoiaushd
離開:
driojnrwadoiaushd
您還可以使用str_relpace與$ count參數: $ str ='djriojnrwadoiaushd'; echo str_replace('j','',$ str,1);
Ups,對不起..我的壞。
這裏是一個真正的方法:
$str = 'djriojnrwadoiaushd';
$pos = strpos($str, 'j');
if($pos !== FALSE)
{
echo substr_replace($str, '', $pos, 1);
}
試試這個:
$needle = 'j';
if (($pos = strpos($str, $needle) !== false) {
$str = substr($str, 0, $pos) . substr($str, $pos+strlen($needle));
}
這與mishac的回答組合是整齊。 – 2009-05-07 08:39:01
只需使用字符串:
<?php
$str = 'djriojnrwadoiaushd';
$remove = 'j';
$index = strpos($str, $remove);
if ($index !== false)
$str = substr($str, 0, $index) . substr($str, $index + 1);
echo $str;
?>
strpos()返回乾草堆中第一針的位置,即。字符串中的第一個j。刪除那封信很簡單。
後退 - 我知道正則表達式;
$newString = preg_replace("/".preg_quote($stringToReplace)."/", '', $inputString, 1);
您應該考慮在$ stringToReplace上調用preg_quote(),否則可能會發生奇怪的事情,例如,如果$ stringToReplace是。* – 2009-05-07 08:07:16
非常真實。謝謝湯姆。發佈編輯以反映這一點。 – PaulJWilliams 2009-05-07 08:20:25
你也可以使用一個事實,即在PHP字符串數組,並刪除相應的「J」的元素:
$str[strpos($str, 'j')] = null;
有趣的方法。但是,如果沒有j,這可能會嘗試刪除第一個字母。 – thomasrutter 2009-05-07 08:01:43
當它被打印時,它顯示一個字符firefox不能識別,但爲我的目的,它的作品。 – Sam152 2009-05-07 08:53:38
這不適用於多字節字符。 – Gumbo 2009-05-07 09:11:31
最後一個參數不限制替換次數,它會對它們進行計數。 – 2009-05-07 08:21:02