さて、CSVの文字列があるとします:01,02,05,10,11,13 ..先頭の0を取り除く最も簡単な方法は何でしょうか?php CSVから先行ゼロを削除するには?
1
A
答えて
1
使用preg_replace
:
$text = "01,02,05,10,11,13,101";
echo preg_replace('/(?<=,|\b)0([0-9])/', "$1", $text);
EDIT:はそれらの中間に0
と数字で動作するように正規表現を更新しました。 (つまり101)
正規表現の修正を支援するために@ BoltClockに感謝します。
出力:
1,2,5,10,11,13,101
利点この方法は、あなたがそれをループ/それを修正し、配列にすべてのテキストを回し、その後にそれを後戻りを台無しにする必要はありませんで、それをやってするにテキスト。テスト
3
10
2
あなたはint型にすべての数字をキャストすることができます:
$list = explode(',', $csv_string);
foreach ($list as &$n) $n = (int)$n;
$fixed = implode(',', $list);
は、あなたが実際のリスト要素を変更できますforeachの、中&
ことに注意してください。このため
2
<?
$tdata=explode(',','01,02,05,10,11,13');
foreach ($tdata as $number) {
$csv[]=number_format($number,0);
}
$csv=implode(',',$csv);
echo $csv;
編集
、他の記事のいくつかを見てみるの代わりをnumber_formatのint型にキャストすることは、おそらく高速です。
関連する問題
- 1. バッチファイルの先行ゼロを削除する
- 2. フォーカスが失われたときにテキストフィールドから先行ゼロを削除する
- 3. jspのセッション変数から先行ゼロを削除する方法
- 4. HTML5入力タイプ=数字は先行ゼロを削除します
- 5. C++バイナリ配列の先行ゼロを削除する
- 6. R:文字列の先頭から先頭のゼロを削除する
- 7. CSVエクスポート:先行ゼロの保存
- 8. キャスティングで先行ゼロが削除される
- 9. 行の先頭から2文字を削除するには
- 10. jqueryデータ属性で先行ゼロが削除されます
- 11. PHP:先行ゼロを削除せずに文字列を整数に変換する
- 12. 入力が一致するCSVから行を削除する
- 13. classic asp、excel、先行する0(ゼロ)の削除を中止します
- 14. CSVファイルから最後の行を削除する
- 15. Pythonの巨大なcsvファイルから行を削除する
- 16. csvからテーブルにmysqlを挿入する - 最初の行を削除する
- 17. どのようにPHPファイルの先頭からスペースを削除するには?
- 18. CP先行ゼロ
- 19. Rのゼロ値を持つ行を削除するには?
- 20. PHPは末尾ゼロを削除しますか?
- 21. PHPの配列から行を削除
- 22. はどのように文字列内のすべての先行ゼロを削除するには
- 23. RのIPアドレスの先行ゼロを効率的に削除(または追加)するには?
- 24. 削除テキストの先頭からの行または
- 25. 先行ゼロのあるLPAD
- 26. 数字の文字列の先頭にゼロを削除するVBA
- 27. CSVファイルを表示するPHPコードで各行を削除するオプション
- 28. 効果的にPythonのCSVから重複を削除する
- 29. テーブルから行を削除するmysql
- 30. バイナリデータから行を削除する
私もこのソリューションの投稿を検討していました。それはより清潔で、その意図がはっきりしています。しかし、彼のリストが常にそのように見えたら(空白も10進数もない)、どちらもうまくいきます。 – Tesserex
これは素晴らしい動作します。ありがとう。 – John
数字のいずれかが「101」の場合はどうなりますか?それは '11'になります。 – webbiedave