1

当我有一个字符串时:

$string = 'word1="abc.3" word2="xyz.3"';

如何在 xyz in 之后用逗号替换点并xyz.3在 abc in 之后保留他abc.3

4

5 回答 5

1

您提供了一个示例,但没有说明何时应修改内容以及何时应保持不变。解决方案可能很简单:

str_replace("xyz.", "xyz", $input);

但是如果你明确想要一个更明确的匹配,比如在句号之后需要一个数字,那么:

preg_replace("/xyz\.([0-9])+/", 'xyz\${1}', $input);

(未测试)

于 2012-04-18T11:30:23.983 回答
1

这取决于替换与否的标准。您可以将字符串拆分为多个部分(使用explode 或preg_split),然后在某些部分替换点(例如str_replace),然后将它们连接在一起(implode)。

于 2012-04-18T11:33:06.180 回答
1

怎么样:

$string = 'word1="abc.3" word2="xyz.3"';
echo preg_replace('/\.([^.]+)$/', ',$1', $string);

输出:

word1="abc.3" word2="xyz,3"
于 2012-04-18T11:33:15.180 回答
1

类似的东西(对不起,我用javascript做了这个,没有看到PHP标签)。

var stringWithPoint = 'word1="abc.3" word2="xyz.3"';
var nopoint = stringWithPoint.replace('xyz.3', 'xyz3');

在php中

$str = 'word1="abc.3" word2="xyz.3"';

echo str_replace('xyz.3', 'xyz3', $str);
于 2012-04-18T11:24:49.937 回答
1

您可以使用 PHP 的字符串函数来删除点 (.)。

str_replace(".", "", $word2);
于 2012-04-18T11:25:43.970 回答