首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何同时删除方括号和圆括号内的文本以及之前存在的空格?

如何同时删除方括号和圆括号内的文本以及之前存在的空格?
EN

Stack Overflow用户
提问于 2019-05-09 20:55:07
回答 1查看 710关注 0票数 -2

我正在尝试使用下面的代码清理PHP中的字符串,但我不确定如何同时删除括号和圆括号中的文本以及之前存在的空格。

我使用的代码是:

代码语言:javascript
复制
$string = "Deadpool 2 [Region 4](Blu-ray)";
echo preg_replace("/\[[^)]+\]/","",$string); 

我得到的输出是:

代码语言:javascript
复制
Deadpool [](Blu-ray)

但是,期望的输出是:

代码语言:javascript
复制
Deadpool 2

使用thisthis问题中的解决方案,不清楚如何同时删除一种类型的匹配和另一种匹配,同时还删除它们前面的可选空格。

EN

回答 1

Stack Overflow用户

发布于 2019-05-10 19:14:20

仅基于一个样本输入,就有一些更简单的方法。

代码语言:javascript
复制
$string = "Deadpool 2 [Region 4](Blu-ray)";
var_export(preg_replace("~ [[(].*~", "", $string));

echo "\n";

var_export(strstr($string, ' [', true));

输出:

代码语言:javascript
复制
'Deadpool 2'
'Deadpool 2'

这些假设不需要的子串的开始以空格开方括号开始。

strstr()技术要求字符串中存在空括号序列。

如果没有始终包含不需要的子串标记,则可以使用:

代码语言:javascript
复制
var_export(explode(' [', $string, 2)[0]);

这会将不需要的子字符串放在[1]的explode输出数组中,将需要的子字符串放在[0]中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56059930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档