文字列の配列(リスト)を特定の文字列で連結するには (implode / join / mkString) 2015/05/18
文字列を要素とする配列(リスト)を特定の文字または文字列で連結して、全体で1つの文字列を生成する方法。
import "strings"
strings.Join(sl, ",")
lst.mkString(",")
implode(",", $arr)
",".join(lst)
arr.join(",")
join(",", @arr)
arr.join(",")
関連
Go言語 (golang) 2015/02/22
strings
パッケージのJoin
関数を使う。
package main
import "fmt"
import "strings"
func main() {
sl := []string{"abc", "def", "ghi"}
str := strings.Join(sl, ",")
fmt.Println(str)
}
Scala 2015/05/18
List
などのコレクション型にある mkString
というメソッドでできる。
Signature:
def Seq[A]#mkString: String
def Seq[A]#mkString(separator: String): String
def Seq[A]#mkString(start: String, separator: String, end: String): String
リストの要素が文字列でなくても要素ごとに toString
メソッドで文字列に変換されてから連結される。
PHP 2016/09/09
implode
関数を使う。
$str = implode($separator, $arr);
implode
関数 | PHP Manual
http://php.net/manual/ja/function.implode.php
実はimplode
の2つの引数はどちらが先に来てもよい。ちょっと気持ち悪いが、これはPHPの有名な「歴史的な理由」。
ちなみに (string)$arr
とすると、Notice: Array to string conversion
というNoticeとともに、配列の中身に関係なく固定で "Array"
という文字列が返される。
Python 2014/12/30
Pythonでは配列のメソッドではなく、文字列にjoin
メソッドがある。セパレータとなる文字列に対してこのメソッドを呼び出す。
separator.join(lst)
str.join
| Python 2.7 documentation
http://docs.python.jp/2/library/stdtypes.html?highlight=join#str.join
str.join
| Python 3 documentation
http://docs.python.jp/3/library/stdtypes.html?highlight=join#str.join
Ruby / JRuby 2015/01/04
Array#join
メソッドまたは Array#*
メソッドでできる。
Array#join
は引数を省略すると、$,
という変数に入っている文字列で連結する。
arr = ['abc', 'def', 'ghi']
p arr.join(',') # => "abc,def,ghi"
p arr * "," # => "abc,def,ghi"
p arr.join # => "abcdefghi"
$, = "::"
p arr.join # => "abc::def::ghi"
Array#join
| Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/join.html
Array#*
| Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/=2a.html
Perl 2015/05/18
join
関数を使う。
my @arr = ('abc', 'def', 'ghi');
print @arr; # => abcdefghi
print "@arr"; # => abc def ghi
print join(' ', @arr); # => abc def ghi
print join(',', @arr); # => abc,def,ghi
join
関数 | perldoc.jp
http://perldoc.jp/func/join
JavaScript 2013/04/10
arr.join(separator)