1

クライアントから次のような文字列を受け取ります。

"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で可能ですか?

4

5 に答える 5

3
$cleaned = preg_replace('/[%()]/', '', $input)
于 2012-05-10T06:37:56.183 に答える
1

はい、これは PHP で可能です。この関数を使用してください: http://php.net/manual/en/function.preg-replace.php

条件に一致する正規表現を記述する必要があります。

于 2012-05-10T06:31:25.480 に答える
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;
于 2012-05-10T06:38:50.527 に答える
0

このコードを使用したいと思います:

preg_replace('/ *\d*\%/','', 'a, b, c, d 5%, e, f, g 76%, h (string,string), i');

ここにがあります(タブを置き換えて置き換えテキストを消去するように切り替えます)

于 2012-05-10T06:33:51.747 に答える
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);
于 2012-05-10T07:06:22.697 に答える