首页 > 解决方案 > 将一个值一分为二,然后在php中反转该值

问题描述

我有这样的价值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;

我正在寻找比我所做的更简单的方法。可能吗??如果是,请接近

标签: phpregex

解决方案


您可以使用

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

查看正则表达式演示

细节

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

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

注意:如果您想在交换之前预先验证数据,您可以将.模式替换为更具体的模式,例如,\w仅匹配单词字符,或[[:alnum:]]仅匹配字母数字字符,或者[0-9a-z]如果您计划仅匹配包含数字和小写 ASCII 字母。


推荐阅读