我有一个这种格式的字符串:
每个子字符串由' - '
分隔A-B-C ...- X-Y
我的问题是如何将最后一个子字符串移动到第一个子字符串
Y型A-B-C ...- X
在php中
非常感谢。
答案 0 :(得分:5)
以下是一些可以执行此操作的代码:
// Split the string into an array
$letters = explode('-', 'A-B-C-X-Y');
// Pop off the last letter
$last_letter = array_pop($letters);
// Concatenate and rejoin the letters
$result = $last_letter . '-' . implode('-', $letters);
答案 1 :(得分:2)
用explode
拆分字符串,将结果数组的最后一个元素移到前面,再将它们粘合在一起:
$parts = explode('-', $str);
$last = array_pop($parts);
array_unshift($parts, $last);
$result = implode('-', $parts);
使用strrpos
查找最后一个分隔符,切断子字符串并在其前面添加:
$pos = strrpos($str, '-');
$result = substr($str, $pos + 1).'-'.substr($str, 0, $pos);
<强> See both in action 强>
答案 2 :(得分:0)
对于某些星期五晚上的疯狂。
$last = substr($str, strrpos($str, '-'));
$str = strrev($last) . str_replace($last, '', $str);
免责声明:代码假定分隔符始终存在。否则,结果会$str
反转。