最近一段时间经常要写一些联合查询的逻辑,同时要满足逻辑a,b,c或是其中一种,写起来很是麻烦.
有一天突然想到一个简单方法,将每一个子句先放置于list中,然后将list中的子句用" and "拼接起来,最外层判断list是否为空,不为空在最前面加上"where "的
条件
头即可.
有一个请求任务,其中有2个请求字段:
status_code:为空
字符串
,表示请求全部状态,为"8"表示全部成功,为"-4"表示在黑名单中
symbol:为空表示所有合约,或者表示具体的合约名
首先申明一个list为空
若你使用过 Shell 中的 awk 工具,会发现用它来
分割
字符串
是非常方便的。特别是
多个
连续空格会被当做一个处理。
[root@localhost ~]# cat demo.txt
hello world
[root@localhost ~]#
[root@localhost ~]# awk ‘{print$1,$2}’ demo.txt
hello world
可是转换到
Python
上面来呢?结果可能是这样的。
>>> msg=’hello world’
>>> msg.
split
(‘ ‘)
[‘hello’, ”, ”, ”, ‘world’]
与我预想的
字符串
分割
,将一个
字符串
分裂成
多个
字符串
组成的列表,可以理解为
字符串
转列表,经常会用到
语法:str.
split
(sep, [,max]),sep可以指定切割的符号,max可以指定切割的次数(次数不常用)
不带参数时以空格进行
分割
带参数时,以该参数进行
分割
未查询到分隔符时,列表只包含原始
字符串
source =1,2,3,4,5,,6
print source.
split
(',')
#按照索引取值[]
source =1,2,3,4,5,,6
print source.
split
(',')[2]
列表转
字符串
.join 函数,这两个过程是两个相反的过程,.join用的特别多
本章对Java如何实现
字符串
的
分割
,是基于jDK1.8版本中的String.
split
()方法。
本文篇幅较长,内容较为复杂涉及到许多小细节,都是我在使用时候以及查阅资料时候遇到的坑,建议反复观看!!
内容中含有对源码的解读,如果可以建议详细读懂源码,有助于对
split
的理解使用。
最后,长文警告,可按需观看!!
一、JDK-1.8-API文档说明(推荐阅读)
首先对java-JDK-1.8的文档进行解读,以下是我从文档中截取的两张图片,分别是关于
split
单参数方法