我知道如何將一個字符串中刪除特定字符,但不知道以下幾點:PHP之間幷包括特定字符刪除字符
例如字符串:Code [7845] [5589] [554] [4]
我需要刪除它們之間的[
和]
所有實例和一切,然後修剪掉空格所以我最終只是:Code
這可能嗎?
我知道如何將一個字符串中刪除特定字符,但不知道以下幾點:PHP之間幷包括特定字符刪除字符
例如字符串:Code [7845] [5589] [554] [4]
我需要刪除它們之間的[
和]
所有實例和一切,然後修剪掉空格所以我最終只是:Code
這可能嗎?
嘗試以下操作:
$str = trim(preg_replace('/\[\d+\]/', '', 'your_string_here'));
該函數的第一個參數是一個正則表達式。你看到的\d
與一個數字相匹配,並且+
後面說明你應該至少匹配1個數字。 Check here瞭解有關preg_replace的更多信息。 Check here有關正則表達式的更多信息。
不修剪空白。 – FailedDev
@FailedDev,yep編輯了答案。 –
這將做到這一點:)
$result = preg_replace('/\[.*?\]|\s*/', '', $subject);
說明:
"
\[ # Match the character 「[」 literally
. # Match any single character that is not a line break character
* # Between zero and unlimited times, as many times as possible, giving back as needed (greedy)
\] # Match the character 「]」 literally
"
由於@Felix指出,這是一個相當簡單的表達。你應該看看here並嘗試熟悉你可以使用的各種技術。
您需要提供更多關於您的要求的細節。
假設:
$s = 'Code [7845] [5589] [554] [4]';
如果字符串總是與你是什麼後,剩下的總是可以丟棄開始,那麼這很可能是最有效的:
$s = trim(substr($s, 0, strpos($s, '[')));
如果您想要保留原始字符串,並只刪除數字組,然後:
$s = trim(preg_replace('/\[\d+\]/', '', $s));
到目前爲止您嘗試過什麼?這是絕對可能的,只需要一個簡單的表達。 –