この関数は、引数が同じ文字を表していれば
t
を返し、 さもなければnil
を返す。case-fold-search
がnil
以外であると、 この関数は大文字小文字の違いを区別しない。(char-equal ?x ?x) ⇒ t (let ((case-fold-search nil)) (char-equal ?x ?X)) ⇒ nil
この関数は、2つの文字列の各文字が正確に一致すれば
t
を返す。 大文字小文字を区別する。(string= "abc" "abc") ⇒ t (string= "abc" "ABC") ⇒ nil (string= "ab" "ABC") ⇒ nil関数
string=
は2つの文字列のテキスト属性を無視する。equal
(see Equality Predicates)が2つの文字列を比較する際には、string=
を使う。文字列に非ASCII文字が含まれ、 一方がユニバイトであり他方がマルチバイトである場合、 それらが等しいことはない。 see Text Representations。
この関数は2つの文字列を1文字ずつ比較する。 まず、文字列を走査し、対応する文字同士の対で一致しないものを探す。 そのような対の文字の小さいほうがstring1の文字であるならば、 string1が小さく、この関数は
t
を返す。 文字の小さいほうがstring2の文字であるならば、 string1が大きく、この関数はnil
を返す。 2つの文字列が完全に一致する場合、値はnil
である。文字の対は、それらの文字コードで比較する。 ASCII文字集合では、小文字は大文字より大きな数値であり、 数字文字や多くの句読点文字は大文字より小さな数値であることに注意。 ASCII文字はどんな非ASCII文字よりも小さい。 ユニバイト非ASCII文字はマルチバイト非ASCII文字よりもつねに小さい。 (see Text Representations)。
(string< "abc" "abd") ⇒ t (string< "abd" "abc") ⇒ nil (string< "123" "abc") ⇒ t文字列の長さが異なりstring1の長さまで一致する場合、 結果は
t
である。 string2の長さまで一致する場合、結果はnil
である。 空文字列は他のどんな文字列よりも小さい。(string< "" "abc") ⇒ t (string< "ab" "abc") ⇒ t (string< "abc" "") ⇒ nil (string< "abc" "ab") ⇒ nil (string< "" "") ⇒ nil
この関数は、string1の指定部分とstring2の指定部分を比較する。 string1の指定部分は、 添字start1位置から始まり添字end1位置までである (デフォルトは文字列の末尾)。 string2の指定部分は、 添字start2位置から始まり添字end2位置までである (デフォルトは文字列の末尾)。
どちらの文字列も比較のためにマルチバイトに変換するので (see Text Representations)、 ユニバイト文字列とマルチバイトが等しくなる場合もある。 ignore-caseが
nil
でなければ、大文字小文字を区別しないので、 大文字は小文字に等しくなる2つの文字列の指定部分が一致すれば、値は
t
。 さもなければ、値は何文字目までが一致してどちらの文字列が小さいかを示す。 その絶対値は、2つの文字列の始めから一致した文字の個数に1を加えたもの。 string1(の指定部分)が小さいならば符号は負になる。
この関数は、
assoc
と同様に動作するが、 keyは文字列である必要があり、compare-strings
を用いて比較する点が異なる。 大文字小文字を区別しないで比較する。
この関数は、
assoc
と同様に動作するが、 keyは文字列である必要があり、compare-strings
を用いて比較する点が異なる。 大文字小文字を区別して比較する。
バッファ内のテキストを比較する
Comparing Textのcompare-buffer-substrings
も参照してください。
文字列に対して正規表現の一致を取る関数string-match
は、
ある種の文字列比較に使えます。
See Regexp Search。