【问题标题】:Remove some content from regular expression Php [closed]从正则表达式 PHP 中删除一些内容 [关闭]
【发布时间】:2015-05-15 20:40:14
【问题描述】:

我写了一个正则表达式,它删除了从一个括号到括号末尾的所有内容,但它不起作用,我写了一个爆炸代码但它不能正常工作,任何人都有一个正则表达式,我可以从中删除括号和里面的内容

这是我的爆炸代码:

$arr = explode(". ", $des);
$arr2= explode("(", $arr[0]);
$arr3=explode(")", $arr2[1]);
$arr[0]=$arr2[0].$arr3[1];

请任何人提供我的常规快递

例如:我是一名网络开发人员($123.Abc),我来自美国。

我需要从上面的行中删除 ($123.Abc)..

请帮忙!!!

【问题讨论】:

  • 我不想添加这个作为答案,因为正则表达式信息在整个互联网上都可用,但preg_replace('/\(.+\) /', '', $des)

标签: php regex string


【解决方案1】:

如果我完全理解您打算做什么,我认为这样的事情应该可以完成:

$target = preg_replace('~\([^)]*\)~', '', $des);

它查找所有出现的 ( 后跟任意数量的任何不是 ) 的字符,然后用空字符串替换它们。

【讨论】:

  • 右括号呢? “我需要删除 ($123.Abc)”....
  • 你没有分隔符。
  • @hwnd 感谢您的编辑
【解决方案2】:

如果你想使用正则表达式,你可以使用castis comment中的正则表达式:

<?php

$string = 'I am a web developer ($123.Abc) and I am from US.';
$new_string = preg_replace('/\(.+\) /', '', $string);

echo $new_string . PHP_EOL;
?>

如果你想使用explode,应该是这样的:

$string = 'I am a web developer ($123.Abc) and I am from US.';
$array = explode('(', $string);
$array1 = explode(')', $string); 
$new_string = $array[0] . $array1[1];

echo $new_string . PHP_EOL;

【讨论】:

  • @DeDevelopers 你有预付款吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-16
  • 2012-04-20
  • 1970-01-01
相关资源
最近更新 更多