のような数式を含む文字列があります(21)*(4+2)
。計算のために、式の間に数字が含まれないように「単純化」する必要があります(つまり、(21)*(4+2) => 21*(4+2)
)。私はそれを行う方法がわかりません(正規表現の置換で何かを考えましたが、それを処理するのはあまり得意ではありません)。
質問する
179 次
2 に答える
0
次のようなアルゴリズムを実行できます。
$str = "(21)*(4+2)";
//split above to array of characters
$arr = str_split($str);
foreach($arr as $i => $char) {
if character is opening parenthesis {
get all characters in a string until closing parnethesis is found
endif }
if the string you received from above contains only digits
(means it has no expression i.e. +,-,/,%,*) then remove the first and last
characters of the above string which are the parenthesis and append the
string to the final string.
}
于 2013-02-21T17:13:01.760 に答える