字符串操作A-B ...- X-Y到Y-A-B -...- X.

时间:2011-09-17 02:37:03

标签: php string

我有一个这种格式的字符串:

每个子字符串由' - '

分隔

A-B-C ...- X-Y

我的问题是如何将最后一个子字符串移动到第一个子字符串

Y型A-B-C ...- X

在php中

非常感谢。

3 个答案:

答案 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反转。