为字符串中的每个间隔术语添加星号

时间:2013-07-28 02:31:49

标签: php replace

我有一个字符串,如:

a b c

我需要最终得到的是:

a* b* c*

我想我需要针对空格str_replace并用asteriskspace替换它们。

处理此问题的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

假设字符串中只包含字母数字字符,因为这就是示例所显示的内容,您可以使用preg_replace来跟踪带有星号的每个字符。

$string = preg_replace('/[a-zA-Z0-9]/', '$0*', $string);

此正则表达式匹配字符,然后使用回调替换它们,同时附加星号。

显然,如果你需要匹配其他字符,那么你可以将它们添加到正则表达式中。

在我的空白字符匹配之前发布的其他答案,但是在某些情况下会导致麻烦,例如如果最后一个字符后面没有空格怎么办?然后它不匹配,没有放置星号。最好匹配你想要的字符,然后附上一个星号。

答案 1 :(得分:0)

尝试:

<?php

$newarray = str_replace(" ", "* ", "a b c ");

?>

答案 2 :(得分:0)

您可以使用str_replace()str_replace()函数将某些字符替换为字符串中的其他字符。

str_replace(' ', '* ', 'a b c ');