从字符串中删除 ()
$item = "(1) Robin Hood (hero)";
括号内的文本可以更改。
如何从字符串中删除所有包含文本的括号?
我们应该得到这个:
$item = "Robin Hood";
谢谢!
$item = "(1) Robin Hood (hero)";
Text inside brackets can be changed.
How do I remove all the brackets with text inside them from the string?
We should get this:
$item = "Robin Hood";
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将
preg_replace
用作:看起来您还想在替换后删除前导和尾随空格。
您可以将
trim
用作:正则表达式使用的是
\(.*?\)
:(
和)
是正则表达式元字符用于分组。匹配文字
你需要转义括号
在它们前面加上
\
。使用
.*?
加上括号。你也可以使用
[^)]*
.
执行相同的操作换行符。使匹配换行符
我们使用
s
修饰符。没有它我们将无法进行更换
在
“(hello\nworld)嗨”
You can use
preg_replace
as:Looks like you also want to remove leading and trailing spaces after the replacement.
You can make use of
trim
for that as:The regex used is
\(.*?\)
:(
and)
are regex meta-charactersused for grouping. To match literal
paranthesis you need to escape them
by preceding them with a
\
.the parenthesis by using
.*?
. Youcould also do the same using
[^)]*
.
by default does not match anewline. To make is match a newline
we use the
s
modifier. Without itwe would fail to do the replacement
in
"(hello\nworld) Hi"