将值一分为二,然后在php

时间:2018-09-28 13:24:00

标签: php regex

我有一个类似73b6424b的值。我想将价值分成两部分。类似于73b6424b。然后两个拆分值要反转。类似于424b73b6。并将这两个值连接起来,像424b73b6。我已经这样做了

$substr_device_value = 73b6424b;
$first_value         = substr($substr_device_value,0,4);
$second_value        = substr($substr_device_value,4,8);
$final_value         = $second_value.$first_value;

我正在寻找比做的简单得多的方法。可能吗??如果是,那么请解决

1 个答案:

答案 0 :(得分:2)

您可以使用

preg_replace('~^(.{4})(.{4})$~', '$2$1', $s)

请参见regex demo

详细信息

  • ^-匹配字符串的起始位置
  • (.{4})-将任何4个字符捕获到组1($1
  • (.{4})-将任意4个字符捕获到第2组($2
  • $-字符串的结尾。

'$2$1'替换模式交换值。

注意:如果要在交换之前对数据进行预验证,则可以将.模式替换为更具体的模式,例如\w以仅匹配单词字符,或者[[:alnum:]]仅匹配字母数字字符,如果打算仅匹配包含数字和小写ASCII字母的字符串,则[0-9a-z]