Clojure 中的string就是 Java 字符串,它是一种对象,把不可变的文本表示为 Unicode 字符(字母、数字、标点等)的序列,定义方式如下:
(def fruit "Apple")
clojure.string库提供了许多标准的字符串操作和处理函数。此外,所有常见的 Java 字符串方法都可以通过互操作来使用。
在这个练习中,你将处理日志行。
每条日志行都是一个字符串,格式如下:"[<LEVEL>]: <MESSAGE>"。
日志级别共有三种:
INFOWARNINGERROR你有三个任务,每个任务都会接收一条日志行,并要求你对它做点什么。
实现message函数,返回日志行中的消息:
(message "[ERROR]: Invalid operation")
;;=> "Invalid operation"
开头和结尾的空白字符都应被移除:
(message "[WARNING]: Disk almost full\r\n")
;;=> "Disk almost full"
实现log-level函数,返回日志行的日志级别,且返回值应为小写:
(log-level "[ERROR]: Invalid operation")
;;=> "error"
实现reformat函数,重新格式化日志行:把消息放在前面,日志级别放在后面并用括号括起来:
(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"