如何反转字符串中两个单词的顺序?

时间:2010-07-08 14:31:53

标签: perl

我有一个这样的字符串:

$a = "Mike , Tree "; 

我想将其反转为"Tree, Mike"

有没有这样做的功能?

4 个答案:

答案 0 :(得分:10)

将字符串拆分为两个字符串,翻转它们,然后重新加入它们。

或者,使用正则表达式:

$a =~ s/(.+),(.+)/\2,\1/g;

答案 1 :(得分:9)

使用reverse功能:

$reversed = join(",", reverse split(",", $string));

答案 2 :(得分:1)

如果你保证你想要反转的字符串将用逗号分隔,那么我会将字符串拆分为逗号,然后将它生成的数组从它的长度转换为0并将其追加到空字符串。

答案 3 :(得分:1)

只是为了你的问题。

$a =~ s/([A-Za-z]+)([^A-Za-z]+)([A-Za-z]+)/$3$2$1/;

[JJ@JJ trunk]$ perl -E '$a = "Mike , Tree "; $a =~ s/([A-Za-z]+)([^A-Za-z]+)([A-Za-z]+)/$3$2$1/; say $a;'
Tree , Mike