【发布时间】:2018-05-01 00:04:53
【问题描述】:
我正在寻找分析 PHP 中的字符串。它们显示为:
高级升级(10.00 欧元)
我想检测字符串何时包含“(€10.00)”,但是价格会发生变化。因此我猜测'Bracket,Float,Bracket'的正则表达式最终结果是我想从字符串中删除价格,但是,括号中可能会出现其他内容,例如
高级升级(每人)
因此我不能只在第一个左括号上分解或子串。但是,可能有两个或多个括号,例如
高级升级(每人)(10.00 欧元)
因此在这种情况下,我需要输出:
高级升级(每人)
因此我的高级流程将是:
- 检查字符串,它是否接触括号并浮动?
- 是的,移除括号并浮动,将其他括号留在原处,继续。
- 没有括号和浮点数?保持原样,继续。
我的 pysedo 代码是:
//Get my string
$str = $meta->display_key;
//I need a RegEx here to detect my bracket and float e.g. (€X.YY)
if (strpos($str, '(') !== false) {
//Need to remove brackets and float here, but leave all other brackets in place.
$formatted_string = substr($str, 0, strrpos($str, '('));
}
//Do nothing, the string doesn't match my criteria
else $display_key_formatted = $str;
【问题讨论】:
-
Soooo...你已经为此研究过正则表达式?因为那会让它变得微不足道。
-
有任何反馈吗?请检查下面的答案。