Open In App

Strings in LISP

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

A string is a set of characters. String  are enclosed in double-quotes. 

Example:

"hello geek","java","python" etc

Example: LISP program to display strings

Lisp




;edisplay hello geek
(write-line "Hello Geek")
  
;display 
(write-line "Welcome to java")


Output:

Hello Geek
Welcome to java

String Comparison Functions:

Used to compare two strings. Further they can be divided into two categories. They are

Case Sensitive Functions:

These functions can be represented by mathematical symbols.

Symbol Name Syntax Description
= equal to string= This operator checks if the values of the operands are all equal or not, if yes then the condition becomes true(T). otherwise it returns NIL
/= not equal to string/= This operator checks if the values of the operands are all different or not, if values are not equal then the condition becomes true(T). otherwise, it returns NIL
> greater than string> This operator checks if the values of the operands are monotonically increasing.
< less than string< This operator checks if the values of the operands are monotonically decreasing.
>= greater than or equal to string>= This operator checks if the value of any left operand is less than or equal to the value of its right operand, if yes then the condition becomes true.
<= less than or equal to string<= This operator checks if the value of any left operand is greater than or equal to the value of the next right operand, if yes then the condition becomes true.

Example: LISP program that demonstrates string case sensitive functions

Lisp




; case-sensitive comparison - equal to 
(write (string= "Hello Geeks" "Hello Geeks"))
  
;new line
(terpri)
  
; case-sensitive comparison - equal to 
(write (string= "Hello Geeks" "HelloGeeks"))
  
;new line
(terpri)
  
; case-sensitive comparison - not equal to 
(write (string/= "Hello Geeks" "Hello Geeks"))
  
;new line
(terpri)
  
; case-sensitive comparison - not equal to 
(write (string/= "Hello Geeks" "HelloGeeks"))
  
;new line
(terpri)
  
; case-sensitive comparison -  greater than
(write (string> "Hello Geeks" "Python"))
  
;new line
(terpri)
  
; case-sensitive comparison -  less than
(write (string< "Hello Geeks" "java"))
  
;new line
(terpri)
  
; case-sensitive comparison -  greater than or equal to
(write (string>= "Hello Geeks" "Python"))
  
;new line
(terpri)
  
; case-sensitive comparison -  less than or equal to
(write (string<= "Hello Geeks" "java"))
  
;new line
(terpri)


Output:

T
NIL
NIL
5
NIL
0
NIL
0

Case INSENSITIVE FUNCTIONS

These functions can be represented by expressions.

Name Syntax Description
equal string-equal This operator checks if the values of the operands are all equal or not, if yes then the condition becomes true(T). Otherwise, it returns NIL
not equal string-not-equal  This operator checks if the values of the operands are all different or not, if values are not equal then the condition becomes true(T). Else, it returns NIL
greater than string-greaterp  This operator checks if the values of the operands are monotonically increasing.
less than string-lessp  This operator checks if the values of the operands are monotonically decreasing.
greater than or equal to string-not-lessp  This operator checks if the value of any left operand is less than or equal to the value of its right operand, if yes then the condition becomes true.
less than or equal to string-not-greaterp  This operator checks if the value of any left operand is greater than or equal to the value of the next right operand, if yes then the condition becomes true.

Example: Lisp program that demonstrates case insensitive functions

Lisp




; case-sensitive comparison - equal to 
(write (string-equal "Hello Geeks" "Hello Geeks"))
  
;new line
(terpri)
  
; case-sensitive comparison - equal to 
(write (string-equal "Hello Geeks" "HelloGeeks"))
  
;new line
(terpri)
  
; case-sensitive comparison - not equal to 
(write (string-not-equal "Hello Geeks" "Hello Geeks"))
  
;new line
(terpri)
  
; case-sensitive comparison - not equal to 
(write (string-not-equal "Hello Geeks" "HelloGeeks"))
  
;new line
(terpri)
  
; case-sensitive comparison -  greater than
(write (string-greaterp "Hello Geeks" "Python"))
  
;new line
(terpri)
  
; case-sensitive comparison -  less than
(write (string-lessp "Hello Geeks" "java"))
  
;new line
(terpri)
  
; case-sensitive comparison -  greater than or equal to
(write (string-not-lessp "Hello Geeks" "Python"))
  
;new line
(terpri)
  
; case-sensitive comparison -  less than or equal to
(write (string-not-greaterp "Hello Geeks" "java"))
  
;new line
(terpri)


Output:

T
NIL
NIL
5
NIL
0
NIL
0


Last Updated : 30 Sep, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads