如果字符后面跟着数字,则替换字符



我有文本:

$text = 'hello c8 world c test';

如果$text包含字母c后接数字,如何用chapter替换c字符?

所以我们最终得到了:

$text = 'hello chapter 8 world c test';

到目前为止,我已经成功地用chapter:替换了c

str_replace('c', 'chapter ', $text);

但这将替换所有c字符。我想regex应该拯救这个?

您可以使用regex检查c中包含以下数字的内容:

$text = 'hello c8 world c test';
$result=preg_replace("/c(?=d+)/", "chapter" ,$text);
echo $result;

在这里运行

您可以使用:

bc(d+)b

并替换为

chapter 1

说明:

  • b标记单词边界,以避免单词内部替换
  • c(d+)查找后面跟有数字的c,并捕获这些数字以备将来使用
  • 替换中的1将第一个捕获的组(数字(放入替换

演示

例如

preg_replace('/bc(d+)b/', 'chapter 1', $text);

相关内容

  • 没有找到相关文章

最新更新