文字列が特定の文字や文字列で終わっているかどうかを見るには (end_with? / endsWith) 2015/04/18
if (str.endsWith(suffix)) {
System.out.println("Match!");
} else {
System.out.println("Unmatch!");
}
if (str.endsWith(suffix)) {
println("Match!");
} else {
println("Unmatch!");
}
function endsWith($str, $suffix) {
$len = strlen($suffix);
return $len == 0 || substr($str, strlen($str) - $len, $len) === $suffix;
// $str が $suffix より短くてもエラーにはならずに false になる
}
if (endsWith($str, $suffix)) {
echo "Match!\n";
} else {
echo "Unmatch!\n";
}
if str.endswith(suffix):
print("Match!")
else:
print("Unmatch!")
if str.end_with?(suffix)
puts "Match!"
else
puts "Unmatch!"
end
if ($str =~ (quotemeta($suffix) . '\z')) {
print "Match!";
} else {
print "Unmatch!";
}
関連
Java / Scala 2015/04/18
Signature:
boolean java.lang.String#endsWith(String suffix)
java.lang.String#endsWith
| Java Platform SE 8 Javadoc
http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#endsWith-java.lang.String-
PHP 2015/04/18
これを簡単にやる関数はないようなので、例えば以下のような関数を作る。
function endsWith($str, $suffix) {
$len = strlen($suffix);
return $len == 0 || substr($str, strlen($str) - $len, $len) === $suffix;
// $str が $suffix より短くてもエラーにはならずに false になる
}
Python 2015/04/18
文字列にある endswith
メソッドを使う。
str = "abcabc"
print str.endswith("ab")
# => False
print str.endswith("bc")
# => True
string.endswith
| Python 2.7 documentation
http://docs.python.jp/2/library/stdtypes.html#str.endswith
string.endswith
| Python 3 documentation
http://docs.python.jp/3/library/stdtypes.html#str.endswith
Ruby / JRuby 2015/04/18
文字列にある end_with?
メソッドを使う。
str.end_with?(suffix)
Perl 2015/04/18
文字列の最後にマッチする正規表現 \z
を使う。
print "abc" =~ /bc\z/; # => 1
接尾辞が変数の場合、その変数から正規表現を組み立てる。
print $str =~ (quotemeta($suffix) . '\z');
上記例のように正規表現全体を ()
で囲む必要があり、囲まないと =~
のほうが先に結合してしまって、常にmatchしてしまう。
JavaScript 2013/04/10
よく使う方法。
str.substr(str.length - suffix.length) == prefix
ただ、これだと、suffix
がstr
より長い場合にどうなることやら。