これを行うにはどのような方法が良いですか?私はregexを使うべきか、あるいは私が使うことができる別の組み込みのPHP関数があるでしょうか?PHP - 数値以外の文字をすべて文字列から削除する
例えば、12 months
は12
になります。 Every 6 months
1
を、なるために6
、1M
になるためには、など
はありがとう
これを行うにはどのような方法が良いですか?私はregexを使うべきか、あるいは私が使うことができる別の組み込みのPHP関数があるでしょうか?PHP - 数値以外の文字をすべて文字列から削除する
例えば、12 months
は12
になります。 Every 6 months
1
を、なるために6
、1M
になるためには、など
はありがとう
あなたはこのケースでpreg_replace使用することができます。
$res = preg_replace("/[^0-9,.]/", "", "Every 6 Months");
$ res return 6この場合、
ありがとうございます。関心がなければ、複数の区切り文字で文字列を爆発させることは可能でしょうか?ですから、 'explode()'がカンマ、セミコロン、コロンなどのいずれかで動作するようにしますか? – b85411
hm、ここをクリックしてください:http://stackoverflow.com/questions/4955433/php-multiple-delimiters-in-explode – TechTreeDev
答えは、コンマとピリオドを保持する文字列を許可します。質問では、すべての数字以外の文字を削除するよう求められます。これはマイナーな編集です(2文字しかないので編集には適格ではありません)。しかし、非数値をすべて削除する答えは '$ res = preg_replace("/[^ 0-9]/"、" "、 「6ヶ月ごと」); – Jon
\D
を使用して、数字以外の文字と一致させます。
preg_replace('~\D~', '', $str);
ピリオドも削除します。それはいくつかのものを探しているかもしれません。 – Jake
正規表現を使用してください。 – aldrin27
可能な重複:http://stackoverflow.com/a/4949347/3647441 –
正規表現は必要ありません。単に 'trim'を使用してください。 – Andrew