我有一个类似73b6424b
的值。我想将价值分成两部分。类似于73b6
和424b
。然后两个拆分值要反转。类似于424b
和73b6
。并将这两个值连接起来,像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;
我正在寻找比做的简单得多的方法。可能吗??如果是,那么请解决
答案 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]
。