使用php替换字符串的每秒逗号

Jac*_*Php 3 php replace

我有一个显示如下的字符串:

1235, 3, 1343, 5, 1234, 1
Run Code Online (Sandbox Code Playgroud)

我需要用分号替换每一秒的逗号

1235, 3; 1343, 5; 1234, 1
Run Code Online (Sandbox Code Playgroud)

字符串长度将始终不同,但将遵循与上述相同的模式,即数字逗号空格数字逗号空格等.

我怎么能用PHP做到这一点?可能吗?

谢谢.

Pra*_*dra 6

试试这个 :

$str     = '1235, 3, 1343, 5, 1234, 1';
$res_str = array_chunk(explode(",",$str),2);
foreach( $res_str as &$val){
   $val  = implode(",",$val);
}
echo implode(";",$res_str);
Run Code Online (Sandbox Code Playgroud)


Rob*_*ert 6

Preg_replace()解决方案

$str = '1235, 3, 1343, 5, 1234, 1';
$str = preg_replace('/(.+?),(.+?),/', '$1,$2;', $str);
echo $str;
Run Code Online (Sandbox Code Playgroud)

输出:

1235, 3; 1343, 5; 1234, 1
Run Code Online (Sandbox Code Playgroud)

  • 这是迄今为止最好的解决方案 (2认同)
  • 这是问题的*最短*解决方案;) (2认同)