- 締切済み
Perlで苗字と名前の入れ替えしたいです。
Yamamoto TaroをTaro Yamamotoにしたいです。ただし間のスペースの個数は維持したいんですが・・・ Perlで簡単にやる方法ありますか・・・
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- my9uest
- ベストアンサー率0% (0/0)
回答No.4
手っ取り早いのは、正規表現の置換を使うことです。 my $string = 'Yamamoto Taro'; $string =~ s/^(\S*)(\s+)(\S*)$/$3$2$1/; print $string, "\n"; # Taro Yamamoto ######################################## $_ = 'Yamamoto Taro'; s/^(\S*)(\s+)(\S*)$/$3$2$1/; print $_, "\n"; # Taro Yamamoto
- _--_1l1_1_
- ベストアンサー率67% (102/152)
回答No.3
my $string = 'Yamamoto Taro'; if ($string =~ m/(\S+)(\s+)(\S+)/) { $string = $3 . $2 . $1; } print $string, "\n"; # Taro Yamamoto
- SexyAkeko
- ベストアンサー率41% (26/63)
回答No.2
Perl は、ここ5,6年触ってませんが (だってPHPの方が便利なんだもん。) spliteって使えませんか? http://www.perlplus.jp/func/string/index3.html 配列を用意して、空白で区切り、 配列の1番目と2番目を空白を挟めばよいかと。
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.1