【发布时间】:2015-03-12 05:53:56
【问题描述】:
此代码str_replace('A', ' Amp', $var)
可以将 2.7A 转换为 2.7 Amp。
但是,它不应将 A2 转换为 Amp 2。
preg_replace 可以用正则表达式解决这个问题吗?
【问题讨论】:
此代码str_replace('A', ' Amp', $var)
可以将 2.7A 转换为 2.7 Amp。
但是,它不应将 A2 转换为 Amp 2。
preg_replace 可以用正则表达式解决这个问题吗?
【问题讨论】:
使用正则后向正则表达式匹配所有在数字之后存在的A。
(?<=\d)A
然后将匹配的A替换为Amp。
echo preg_replace('~(?<=\d)A~', 'Amp', $str);
【讨论】:
preg_replace('~\.\d+\KA~', 'Amp', $str);
$re = "/A\\b/im";
$str = "2.7A\nA2";
$subst = "Amp";
$result = preg_replace($re, $subst, $str);
你可以使用这个。\b 不会匹配A2。
【讨论】:
【讨论】:
<?php
$str="A2";
$pattren=array();
$pattren[0]="A2";
$replacement=array();
$replacement[0]="amp2";
echo str_replace($pattren,$replacement,$str);?>
使用正则表达式模式
<?php $str="A2"; $pattren=array(); $pattren[0]="/A2/"; $replacement=array(); $replacement[0]="amp2"; echo preg_replace($pattren,$replacement,$str);?>
【讨论】:
如果您想将 A 更改为 Amp。在任何数字的末尾你都可以试试这个(不是正则表达式)
$strstr="3.4A"; //any value in this string
if ((is_numeric(substr($strstr, 0, strlen($strstr)-1))) && (substr($strstr, -1)=="A")){
echo str_replace('A', ' Amp', $strstr);
}
【讨论】: