我从客户端收到一个像这样的字符串:
"a, b, c, d 5%, e, f, g 76%, h (string,string), i"
我想创建一个可以从字符串中删除5%,76%(以及任何其他可能的百分比值n%)和括号(括号开头用逗号替换)的regExp。期望的结果是:
"a, b, c, d, e, f, g, h, string, string, i"
这可以用PHP吗?
答案 0 :(得分:2)
$cleaned = preg_replace('/[%()]/', '', $input)
答案 1 :(得分:1)
是的,这可以用PHP, 使用此功能: http://php.net/manual/en/function.preg-replace.php
您需要编写符合条件的正则表达式。
答案 2 :(得分:1)
你对括号的定义有点不清楚,但是如果我假设没有其他开口的结束括号,请使用:
$line = "a, b, c, d 5%, e, f, g 76%, h (string,string), i";
$line = preg_replace('/\s+\d+%/', '', $line);
$line = preg_replace('/\s*\(/', ', ', $line);
$line = preg_replace('/\s*\)\s*/', '', $line);
$line = preg_replace('/,(\S)/', ', $1', $line);
echo $line;
答案 3 :(得分:0)
您想使用此代码:
preg_replace('/ *\d*\%/','', 'a, b, c, d 5%, e, f, g 76%, h (string,string), i');
这是example(切换到替换标签并清除替换文本)
答案 4 :(得分:0)
$string = "a, b, c, d 5%, e, f, g 76%, h (string,string), i";
$string = preg_replace('/\s+\d+%|\)/', '', $string);
$string = str_replace('(', ',', $string);
$string = preg_replace('/\s*,\s*/', ', ', $string);