Clojure 学习入门(4)- 字符串
- user=>
- user=> (str 1)
- "1"
- user=> (str -2.5)
- "-2.5"
- user=> (str "a")
- "a"
- user=> (str "abc" 123)
- "abc123"
- user=> (str)
- ""
- user=> (str '(1 2 3))
- "(1 2 3)"
- user=> (str nil)
- ""
- user=> (str null)
- java.lang.Exception: Unable to resolve symbol: null in this context (NO_SOURCE_FILE:149)
- user=> (str "null")
- "null"
- user=> (str "abc " 123)
- "abc 123"
- user=> (str 123 345)
- "123345"
其它比较少用的创建函数
print-str、println-str、pr-str、prn-str、with-out-str
- user=> (print-str "abc" 234)
- "abc 234"
- user=> (println-str "abc" 234)
- "abc 234\n"
- user=> (pr-str "abc" 234)
- "\"abc\" 234"
- user=> (prn-str "abc" 234)
- "\"abc\" 234\n"
- user=> (with-out-str "abc" 234)
- ""
二、string操作
count函数: count函数接受字符串参数时,返回字符串的字符数。
- user=> (count)
- java.lang.IllegalArgumentException: Wrong number of args (0) passed to: core$count (NO_SOURCE_FILE:175)
- user=> (count nil)
- 0
- user=> (count "abc123")
- 6
subs函数: subs函数接受两个或三个参数, 第一个是字符串,第二个是一个整数偏移量,第三个(可选)是另一个整数偏移量。函数返回从第一个偏移量(含),到第二个(不含)偏移量或者结尾(如果没有第二个偏移量)截取的子字符串。
- user=> (subs "ithomer" 1)
- "thomer"
- user=> (subs "ithomer" 1 3)
- "th"
- user=> (subs "ithomer" 1 (count "ithomer"))
- "thomer"
- user=> (subs "ithomer" 1 20)
- java.lang.StringIndexOutOfBoundsException: String index out of range: 20 (NO_SOURCE_FILE:0)
- user=> (subs "ithomer")
- java.lang.IllegalArgumentException: Wrong number of args (1) passed to: core$subs (NO_SOURCE_FILE:0)
format函数: format函数用于格式化字符串。使用jdk的java.util.Formatter类完成格式化。
- user=> (format "hello %s" "ithomer.net")
- "hello ithomer.net"
- user=> (format "%5d" 3)
- " 3"
- user=> (format "%-5d" 3)
- "3 "
- user=> (format "%05d" 3)
- "00003"
检查函数:字符串检查函数 (string?) 接受一个参数,如果是字符串返回true,否则返回false
- user=> (string? "abc")
- true
- user=> (string? "123")
- true
- user=> (string? 123)
- false
- user=> (string? nil)
- false
字符检查函数(char?)接受一个参数,如果是字符类型返回true,否则返回false
- user=> (char? "abc")
- false
- user=> (char? \a)
- true
- user=> (char? 'a')
- java.lang.Exception: Unmatched delimiter: )
- user=> (char? a)
- java.lang.Exception: Unable to resolve symbol: a in this context (NO_SOURCE_FILE:222)
- user=> (char? 1)
- false
- user=> (char? \1)
- true
- user=> (char? nil)
- false
Clojure 学习入门(4)- 字符串相关推荐
- Clojure 学习入门(6)- 函数定义
一.创建函数: fn: fn是一个宏,用于定义一个简单的函数,如下: [python] view plaincopy print? user=> (fn [] "hello&quo ...
- Clojure 学习入门(6)—— 函数定义
一.创建函数: fn: fn是一个宏,用于定义一个简单的函数,如下: user=> (fn [] "hello") #<user$eval375$fn__376 us ...
- Clojure 学习入门(1) - 学习资料
转自:http://blog.csdn.net/ithomer/article/details/17225813 Clojure(发音类似"closure",['kləʊʒə(r) ...
- Clojure 学习入门(16)- 正则表达式
一.创建正则表达式 re-pattern函数: 函数 (re-pattern) 接受一个字符串参数,返回一个正则表达式样式(java.util.regex.Pattern类的实例).这个样式能用于 ...
- Clojure 学习入门(13)- binding
Clojure里面是不支持变量的.Binding跟变量有点像,但是在被赋值之前是不允许改的,包括:全局binding, 线程本地(thread local)binding, 以及函数内的本地bindi ...
- Clojure 学习入门(11)- 宏 macro
clojure macro宏在运行之前机械展开,定义宏相当于给语言增加新特性,写宏的*原则*: 能写成函数就不要用宏(因为写宏没有写函数简单直观,容易写错,需要先在 REPL 中测试一番) 只有不得 ...
- Clojure 学习入门(5)- 关键字
一.创建: Keyword: 关键字是一个内部字符串; 两个同样的关键字指向同一个对象; 通常被用来作为map的key. [python] view plaincopy print? user=&g ...
- Clojure 学习入门(18)—— 数据类型
如何表示和处理数据 Clojure是一种动态类型语言,这意味着你在程序中永远不需要明确定义符号.函数.或者参数的数据类型.但是,所有的值仍然有一个类型.字符串时是字符串,数字是数字,列表是列表,等等. ...
- C语言学习入门之字符串和转义字符
活动地址:CSDN21天学习挑战赛 前言 本篇整理的是C语言基础中的字符串和转义字符的知识 一.字符串是什么? 由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Li ...
最新文章
- Mysqldump参数大全(参数来源于mysql5.5.19源码)
- msyql request quit
- 比较难理解的知识汇集
- oracle sql 导入mysql数据库备份_Oracle 备份、导入数据库命令
- web访问hive速度怎么样_使用Hive的web界面:HWI
- (转载)为什么Linux不需要碎片整理?
- 不懂这25个名词,好意思说你懂大数据?
- 【转】如何修改IIS的默认端口号
- vue 进入首页只弹一个弹框_vue.js实现只弹一次弹框
- laravel5.4中验证与错误提示设置
- 深度学习:未来机器人的进化途径
- 软考之网络管理员(包含2004-2018历年真题详解+课本教材讲义+视频教程)
- ppt背景图片php,ppt背景图片怎么设置 ppt幻灯片制作视频
- 深入解读:从DDIM到Improved Denoising Diffusion Probabilistic Models
- IDEA 使用破解补丁激活
- JavaWeb个人博客项目:手把手教你实现博客后台系统之管理员管理模块5
- Android的surface的三种工作方式
- 猜拳游戏(基于TCP socket的编程)
- Android 经典原生壁纸,福利:精选安卓之父手机原生壁纸 曾力抗苹果华为 如今仅剩经典!...
- 宣传片制作的十大步骤
热门文章
- 《C语言及程序设计》实践参考——太乐了
- 落实业务服务管理从基础设施管理做起
- Fort.js – 时尚、现代的进度提示效果
- springmvc整合mysql_SpringMVC+Spring+Mybatis+Maven+mysql整合
- java 可变参数列表 数组_java可变参数列表如何填充数组?
- 关于java构造方法的描述_在JAVA语言中,下面关于构造函数描述正确的是()
- 姓名的首字母组成的图案C语言怎么编,c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,其后跟一个逗号,然后显示名的首字母:...
- 鸿蒙公测第二期报名地址,鸿蒙2.0第二期公测报名入口及参加方法
- 通过日志分析mysql访问量,Mysql 慢查询和慢查询日志分析
- HTML5 -canvas拖拽、移动 绘制图片可操作移动,拖动