2012-01-24 56 views
-4

我在PHP($string)的字符串,我想刪除所有:PHP地帶串

  • 空間
  • 逗號

什麼是最好的,最簡單的方法去做這件事?

+8

[文檔是你的朋友。看它。愛它。使用它。](http://php.net/manual/en/function.preg-replace.php) – 2012-01-24 21:44:03

+2

@JackManey雖然我完全同意一般情緒,但如果OP不熟悉正則表達式,可能發現該手冊頁可能不會有太大的幫助。 –

回答

1

正則表達式

$str = preg_replace('/\d|\s|,/', '', $str) 
1

你可以做到這一點很容易使用preg_replace()

$new_str = preg_replace('/[\d\s,]/', '', $str); 

看着regular expression tutorial可能是一個好主意,如果你打算使用正則表達式在將來。

0
$string = preg_replace('#(pm|[0-9 ]+)#', '', $string); 

編輯:的OP最初要求的短語「PM」也被刪除,並沒有包含逗號。

+0

@Shiplu:OP要求刪除短語「pm」。自那時起,他修改了他的問題並刪除了這個問題。 – FtDRbwLXw6

0

最EFFIENT方式做到這一點是使用str_replace()

$string = 'Hello, World! abc123abc'; 
$match = '123456789, '; // All characters that should be removed 
$result = str_replace(str_split($match), '', $string); 
// $result = 'HelloWorld!abcabc'; 

這個做什麼,首先是字符串'123456789, '分成的所有字符數組(array('1', '2', '3', '4', '5', '6', '7', '8', '9', '0', ',' ' ')),並使用str_replace()來代替每個數組值爲空字符串。

恕我直言,這也是這樣做,如果你不熟悉正則表達式(如preg_replace()功能),最簡單的方法,而且還比它的正則表達式當量每1個百萬次操作快(2.75秒str_replace()與4.15 preg_replace()在我的電腦上)。