2010-02-12 54 views
0

的一部分,如果我有人物像這樣的字符串:如何刪除一個字符串

這是一個測試字符串,我は

而且我想以後的「我要刪除一切「這還包括我之後的空間,我會怎麼做?我肯定需要從字符串的末尾開始,向後倒數到最後一個空格,但我不知道如何做到這一點。

+1

確切的要求是什麼?你期望收到什麼樣的字符串。你希望刪除什麼樣的字符串?如果它只是這個確切的字符串和要求,那麼在實現自動化時就沒有意義。如果沒有,那麼我們需要一些關於確切要求的更多信息。 –

+0

澄清:「我」總是會成爲最後一個「我」,還是它需要成爲第一次出現「I」的一切。你是不是一直在尋找你?等等。 –

+0

同意。字符串將隨着長度而改變。目前,我將字符串長度設置爲34個字符。我需要的是如果單詞不完整(如上面的示例中所示),最後一個單詞會被截斷。 – Jim

回答

1

使用此找到一個字符的最後一次出現在一個字符串

http://www.php.net/manual/en/function.strrpos.php

$pos = strrpos($mystring, "I"); 

然後SUBSTR分割字符串

http://ca2.php.net/manual/en/function.substr.php

$newstring = substr($mystring, $pos); 
+0

謝謝Chad,我現在就去看看。 – Jim

+0

@Jim,我添加了方法來拆分它,一旦你找到了「我」的位置 – CaffGeek

+0

謝謝乍得。字符串將是動態的。我不確定我可以爲此使用strpos。 – Jim

2

您可以刪除'I'之後的所有內容使用:

$str = 'This is a test string and I wa'; 
$new_string = substr($str, 0, strpos($str, 'I') + 1); 

注:strpos發現第一出現 '我' 的性格。

+0

使用strrpos查找最後發生的情況,如果您想要的話。 這將是:'$ str ='這是一個測試字符串,我wa'; $ new_string = substr($ str,0,strrpos($ str,'I')+ 1);' – Emil

0

你的要求是不是真的清楚......但

,如果你想「我」

 
$s = 'This is a test string and I wa'; 
$pos = strpos($s, 'I'); 
if ($pos !== false) 
{ 
    $s = substr($s, 0, $pos + 1); 
} 

後,如果您想刪除最後一個空間,一切以刪除一切之後,如果

 
$s = 'This is a test string and I wa'; 
$pos = strrpos($s, ' '); 
if ($pos !== false) 
{ 
    $s = substr($s, 0, $pos); 
}