Common Lisp中的字符串是向量,即一维字符数组。
字符串文字用双引号引起来,字符集支持的任何字符都可以用双引号引起来,以组成一个字符串,除了双引号(")和转义字符(\)之外。但是,可以通过用反斜杠(\)进行转义来包括这些字符。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
(write-line "Hello Learnfk") (write-line "Welcome to Learnfk Point") ;escaping the double quote character (write-line "Welcome to\"Learnfk Point\"")
当您执行代码时,它返回以下输出-
Hello Learnfk Welcome to Learnfk Point Welcome to "Learnfk Point"
数值比较函数和运算符(例如<和>)不适用于字符串。 Common LISP提供了另外两组函数来比较代码中的字符串。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
; case-sensitive comparison (write (string= "this is test" "This is test")) (terpri) (write (string> "this is test" "This is test")) (terpri) (write (string< "this is test" "This is test")) (terpri) ;case-insensitive comparision (write (string-equal "this is test" "This is test")) (terpri) (write (string-greaterp "this is test" "This is test")) (terpri) (write (string-lessp "this is test" "This is test")) (terpri) ;checking non-equal (write (string/= "this is test" "this is Test")) (terpri) (write (string-not-equal "this is test" "This is test")) (terpri) (write (string/= "lisp" "lisping")) (terpri) (write (string/= "decent" "decency"))
当您执行代码时,它返回以下输出-
NIL 0 NIL T NIL NIL 8 NIL 4 5
Sr.No. | 函数& 描述 |
---|---|
1 | string-upcase 链接:https://www.learnfk.comhttps://www.learnfk.com/lisp/lisp-strings.html 来源:LearnFk无涯教程网 将字符串转换为大写 |
2 | string-downcase 将字符串转换为小写 |
3 | string-capitalize 大写字符串中的每个单词 |
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
(write-line (string-upcase "a big hello from Learnfk point")) (write-line (string-capitalize "a big hello from Learnfk point"))
当您执行代码时,它返回以下输出-
A BIG HELLO FROM LEARNFK POINT A Big Hello From Learnfk Point
Sr.No. | Function & 描述 |
---|---|
1 | string-trim 删除两边空格 |
2 | string-left-trim 删除左边空格 |
3 | string-right-trim 删除右边空格 |
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
(write-line (string-trim " " " a big hello from Learnfk point ")) (write-line (string-left-trim " " " a big hello from Learnfk point ")) (write-line (string-right-trim " " " a big hello from Learnfk point ")) (write-line (string-trim " a" " a big hello from Learnfk point "))
当您执行代码时,它返回以下输出-
a big hello from Learnfk point a big hello from Learnfk point a big hello from Learnfk point big hello from Learnfk point
LISP中的字符串是数组,因此也是序列,适用于数组和序列的所有函数也适用于字符串。
length - 函数计算字符串的长度。
subseq - 函数返回一个子字符串,该子字符串从特定的索引开始,一直到特定的结束索引或字符串的结尾。
char - 函数允许访问字符串的各个字符。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
(write (length "Hello Learnfk")) (terpri) (write-line (subseq "Hello Learnfk" 6)) (write (char "Hello Learnfk" 6))
当您执行代码时,它返回以下输出-
11 Learnfk #\W
sort - 函数允许对字符串进行排序。
返回通过合并两个序列而生成的序列。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
;sorting the strings (write (sort (vector "Amal" "Akbar" "Anthony") #'string<)) (terpri) ;merging the strings (write (merge 'vector (vector "Rishi" "Zara" "Priyanka") (vector "Anju" "Anuj" "Avni") #'string<))
当您执行代码时,它返回以下输出-
#("Akbar" "Amal" "Anthony") #("Anju" "Anuj" "Avni" "Rishi" "Zara" "Priyanka")
reverse - 函数可反转字符串。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
(write-line (reverse "Are we not drawn onward, we few, drawn onward to new era"))
当您执行代码时,它返回以下输出-
are wen ot drawno nward ,wef ew ,drawno nward ton ew erA
串联函数可以串联两个字符串。
创建一个名为main.lisp的新源代码文件,然后在其中键入以下代码。
(write-line (concatenate 'string "Are we not drawn onward, " "we few, drawn onward to new era"))
当您执行代码时,它返回以下输出-
Are we not drawn onward, we few, drawn onward to new era
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)