2つの文字列を比較するには (equals / strcasecmp / strcmp / ==
/ !=
/ <
/ <=
/ >=
/ >
/ <=>
/ gt / ge / lt / le)
Go言語 (golang) 2015/08/05
string
型や[]byte
型の値は==
演算子で比較する。等値の場合に true
になり、そうでない場合に false
になる。
Java 2015/02/12
equals
メソッドで比較する。等値の場合に true
になり、そうでない場合に false
になる。例: obj1.equals(obj2)
==
は同じインスタンスかどうかをチェックするもので、たとえ同じ内容の文字列でも ==
が false
を返す場合もある。
Scala 2015/02/12
==
演算子で比較する。等値の場合に true
になり、そうでない場合に false
になる。!=
演算子はその反対。
Scalaの==
演算子はJavaのequals
メソッドを呼び出している。
Groovy 2014/11/21
==
演算子で比較し、等値の場合に true
を返す。!=
演算子のはその反対。
==
演算子はJavaの equals
を呼び出している。
<
, <=
, >=
, >
, <=>
で文字列の辞書順の比較ができる。
<=>
は数値の比較と同じで、大小関係によって -1
, 0
, +1
のいずれかを返す。
PHP 2015/04/02
==
は等値の場合に true
を返す。 !=
はその反対。
strcmp
関数で文字列の辞書順の比較ができる。
$cmp = strcmp($str1, $str2);
if ($cmp < 0) {
// $str1 が $str2 よりも辞書順で前に来る場合の処理
} else if ($cmp > 0) {
// $str1 が $str2 よりも辞書順で後に来る場合の処理
} else {
// $str1 と $str2 が等しい場合の処理
}
大文字と小文字を区別せずに比較するには strcasecmp
を使う。
if (strcasecmp($str1, $str2) === 0) {
// $str1 と $str2 が等しい場合の処理
}
<
, <=
, >
, >=
は文字列の比較ではなく数値に変換しての比較になる。
-> 数値の比較
strcmp
関数 | PHP Manual
http://php.net/manual/ja/function.strcmp.php
strcasecmp
関数 | PHP Manual
http://php.net/manual/ja/function.strcasecmp.php
Python 2014/01/23
==
は等値の場合に True
を返す。 !=
はその反対。
Ruby 2013/10/16
==
は等値の場合に true
を返す。 !=
はその反対。
<
, <=
, >=
, >
, <=>
で文字列の辞書順の比較ができる。
<=>
は数値の比較と同じで、大小関係によって -1
, 0
, +1
のいずれかを返す。
Perl 2017/01/15
eq
は等値の場合に '1'
を返し、そうでない場合は、 ''
を返す。 ne
はその反対。
print "abc" eq "abc"; # => 1
print "abc" ne "abc"; # => ''
if
文の条件式に入れると、 '1'
は真、 ''
は偽の扱いになる。
if ("abc" eq "abc") {
...;
}
undef
と ''
を eq
で比較すると Use of uninitialized value
という警告が出るが、等値との判定はされる。
gt
, ge
, lt
, le
で文字列の辞書順の比較ができる。
print "abc" ge "def"; # => ''
print "abc" lt "def"; # => 1
cmp
はRubyの <=>
と同じで、文字列の辞書順の関係によって -1
, 0
, +1
のいずれかを返す。
print ("abc" cmp "def"); # => -1
print ("abc" cmp "DEF"); # => 1
print ("def" cmp "def"); # => 0
print ("xyz" cmp "def"); # => 1
==
や <
, <=>
などは数値として比較してしまうので注意。
print "2" <=> "12"; # => -1
print "2" cmp "12"; # => 1
正規表現とのマッチングができる =~
や !~
という演算子もある。
sh (シェルスクリプト) 2013/09/25
test
コマンドの =
, !=
演算子で文字列の比較ができる。
test
コマンドの -eq
, -ne
演算子は数値として比較するで、Perlとは逆。
-> シェルスクリプトの演算子