Php 如果在另一个字符的字符串的中间引导、结束或存在,则将0设为一个数字。
需要前缀为0的“句子”示例:Php 如果在另一个字符的字符串的中间引导、结束或存在,则将0设为一个数字。,php,Php,需要前缀为0的“句子”示例: 5这是3变成05这是03 44这是2变为44这是02(注44未加前缀,因为它不是一个数字) 这4个是变成了这04个是 不带0前缀的“句子”示例: 44这是 22此3为(注释3未加前缀,因为它作为字符串的一部分存在) 这是5 我试着想出一个正则表达式,但失败得很惨; } } 说明: 我使用确保只有以下数字[0-9]: 后面没有数字:(?![0-9]) 并以空格或行首开头:((?$str='5这是3'; $replaced=preg_replace('
5这是3
变成05这是03
44这是2
变为44这是02
(注44未加前缀,因为它不是一个数字)
这4个是
变成了这04个是
不带0前缀的“句子”示例:
44这是
22此3为
(注释3未加前缀,因为它作为字符串的一部分存在)
这是5
我试着想出一个正则表达式,但失败得很惨; } } 说明: 我使用确保只有以下数字
[0-9]
:
- 后面没有数字:
(?![0-9])
- 并以空格或行首开头:
((?
$str='5这是3';
$replaced=preg_replace('~(?这里有一种非正则表达式的实现方法:$line = "this 4 is"; $words = explode(' ', $line); foreach ($words as &$word) { if (ctype_digit($word)) { $word = str_pad($word, 2, '0', STR_PAD_LEFT); } } echo implode(' ', $words);
有很多方法可以实现你想要的。但是,一个好的起点应该是你迄今为止所写的代码。天哪,伙计们,为什么你会选择一个对最琐碎的要求都不起作用的答案??“5这是3”你认为
是吗?它是一组字符集,由[$]
符号和一个空格组成。是的,我认为这是行的开头或空格。目前正在尝试解决这个问题。甚至不接近这个问题。)什么是$
?它是空格或“点”character@hek2mgl当前位置1.让它工作2.在stackoverflow上张贴“或当您很匆忙时”-----没有人要求你发布一些只是为了成为第一。实际上,发布一些cr*p只是为了成为第一,然后修改它是一个糟糕的想法。[\.]
$str = '5 this is 3'; $replaced = preg_replace('~(?<=\s|^)\d(?=\D|$)~', '0\\0', $str); // 05 this is 03
$line = "this 4 is"; $words = explode(' ', $line); foreach ($words as &$word) { if (ctype_digit($word)) { $word = str_pad($word, 2, '0', STR_PAD_LEFT); } } echo implode(' ', $words);