好吧,让我们说我有一个字符串是CSV:01,02,05,10,11,13 ..什么是最简单的方法来删除前导零?php如何从CSV中删除前导零?
1
A
回答
1
使用preg_replace
此:
$text = "01,02,05,10,11,13,101";
echo preg_replace('/(?<=,|\b)0([0-9])/', "$1", $text);
编辑:更新的正则表达式用在他们中间的0
数字工作。 (即101)
感谢@BoltClock帮助修复正则表达式。
输出:
1,2,5,10,11,13,101
的优势,做这种方式是,你不必惹打开所有文字到一个数组,修改它/通过它循环,然后把它放回文本。
3
10
如果它们都是整数,则将其分解为数组并将其全部转换为整数。
$values = array_map('intval', explode(',', $csv));
2
您可以将所有你的号码转换为整数:
$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;
测试:http://www.ideone.com/lrh8q
编辑
纵观一些其他职位,铸造为int,而不是number_format可能更快。
相关问题
- 1. 如何删除前导零?
- 2. 只从int值中删除csv文件中的前导零仅
- 3. 从jclock中删除前导零
- 4. 从ggplot2图中删除前导零
- 5. SSRS从日期中删除前导零
- 6. mysql从字段中删除前导零
- 7. 如何从jsp中的会话变量中删除前导零
- 8. 如何从双重计算中删除前导零?
- 9. 如何从逗号分隔文件中删除前导零
- 10. 如何从SQL中删除前导零(s)
- 11. 如何从数字文本中删除前导零?
- 12. 如何从浮点值中删除前导零Swift 3
- 13. 如何从sql查询中删除前导单引号和前导零
- 14. MATLAB - 从向量中删除前导零和尾随零
- 15. 删除ggplot2 +标尺中的前导零
- 16. 邮差 - 正在从CSV数据文件中删除的前导零
- 17. 如何从HH:MM:SS中删除前导'0?
- 18. 删除使用Unix的CSV文件前导零的sed命令
- 19. Zend/PHP:如何从字符串中删除所有前导0?
- 20. 如何删除Robot Framework中的前导零?
- 21. 如何删除所有前导零字符串中的
- 22. jquery数据属性删除前导零
- 23. 删除连续前导零熊猫
- 24. 使用number_with_precision删除前导零
- 25. MySQL 5.1.41前导零被删除
- 26. 从SQL语句的字段中删除前导零
- 27. 使用C#从IP地址中删除前导零#
- 28. 从列中删除前导零(非函数)
- 29. 从SQL字段中删除前导零的算法?
- 30. PHP mysqli准备语句删除前导零
我删除了我的答案,因为我认为单个前导零表示八进制表示法,导致`intval()`搞乱了。但看起来我有点偏执! `ltrim()`也可以,但是,我喜欢你。 – BoltClock 2011-01-14 19:36:36
ltrim的工作原理是,如果它是一个单一的数字,但不是在CSV中。我必须为CSV中的每个值运行它不是吗? – John 2011-01-14 19:41:32
@John看看@ BoltClock的答案 - 它使用intval函数作为array_map的回调,并且非常整齐地解决了这个问题。 – 2011-01-14 19:42:37