私は妥当な解決策を見つけることができないという問題があります。PHPで文字列から数値以外の文字を選択する方法
私はPHPの文字列変数$PaidUpCapital="฿ 10,000000";
を持っています。つまり、$PaidUpCapital
は1000万タイボーと同じです。どのように私はすべての数値とカンマ文字を削除し、phpを使用して、この変数から通貨記号を得ることができますか?
私は妥当な解決策を見つけることができないという問題があります。PHPで文字列から数値以外の文字を選択する方法
私はPHPの文字列変数$PaidUpCapital="฿ 10,000000";
を持っています。つまり、$PaidUpCapital
は1000万タイボーと同じです。どのように私はすべての数値とカンマ文字を削除し、phpを使用して、この変数から通貨記号を得ることができますか?
あなたは、不要な文字を削除するために正規表現を使用することができますチェックしますが、正規表現を比較して非常に遅いので、あなたは、この別の方法にアプローチする場合があります他の方法に
$PaidUpCapital
が常に同じ形式がある場合:<symbol><space><amount>
をあなたが代わりに次のことが可能です。
echo explode(' ', $PaidUpCapital)[0];
echo substr($PaidUpCapital, 0, strpos($PaidUpCapital, ' '));
どちらの方法でも同じことを行う、strlen("฿")
は3とstrlen("$€")
の長さを有するようスペースの前にすべての文字をつかみます区切り文字を使用しなければならないすべてのシンボルと互換性があるように、長さは2です。
[_Prematureの最適化はすべてのevil_の根源です](http://wiki.c2.com/?PrematureOptimization) - >早すぎるとその速度が問題になるとは思わない;-) – joanolo
@joanolo:あなたはあなたのパターンで文字を一つずつ置き換えます。 –
通貨記号は常に同じ場所にありますか?もしそうなら、これを 'echo $ PaidUpCapital [0]'とすることができます。 – Xorifelse
これは配列ではなく、文字列変数です。したがって、インデックスはありません。そして、それはいつもそこにある。私はちょうど通貨記号を得るためにどのようにすべての数字とカンマ文字を削除することができます参照する必要があります。 –
@ Wiktor Stribizew それは何文字なのか分からないので、これよりも少し動的な方法が必要です。代わりに2文字ベースの通貨記号にすることもできます。 –