我知道如何将一个字符串中删除特定字符,但不知道以下几点: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));
到目前为止您尝试过什么?这是绝对可能的,只需要一个简单的表达。 –