- 浏览: 4754143 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
bzhao:
你也应该可以这样:(not tested)./rbtunnel ...
在Bash脚本中怎么关闭文件描述符? -
bzhao:
如果有A进程原代码情况下,通过如下调用,把他的子进程继承关闭则 ...
在Bash脚本中怎么关闭文件描述符? -
Master-Gao:
楼主咋没分析下源码呢?
我使用过的Linux命令之dirname - 截取给定路径的目录部分 -
jiedushi:
tail -F 就可以吧
Linux下实时跟踪log4j日志文件的bash脚本 - 增强了tail -f的功能 -
java_is_new:
新手学习了,就是不明白为一个网卡配多个ip有什么用
我使用过的Linux命令之ifconfig - 网络配置命令
Bash字符串处理(与Java对照) - 6.判断字符串是否为空(不为空)
In Java
判断是否为null
是null
if (s == null) {
// do something
}
不是null
if (s != null) {
// do something
}
判断是否null或空串
是null或者空串:方法一
if (s == null || s.length() == 0) {
// do something
}
是null或者空串:方法二
if (s == null || s.isEmpty()) {
// do something
}
是null或者空串:方法三
import org.apache.commons.lang.StringUtils;
if (StringUtils.isEmpty(s)) {
// do something
}
不是null也不是空串:方法一
if (s != null && s.length() != 0) {
// do something
}
不是null也不是空串:方法二
if (s != null && s.isEmpty()) {
// do something
}
不是null也不是空串:方法三
import org.apache.commons.lang.StringUtils;
if (StringUtils.isNotEmpty(s)) {
// do something
}
Returns true if, and only if, length() is 0.
isEmpty
public static boolean isEmpty(String str)Checks if a String is empty ("") or null.
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false
NOTE: This method changed in Lang version 2.0. It no longer trims the String. That functionality is available in isBlank().
Parameters:
str - the String to check, may be null
Returns:
true if the String is empty or null
isNotEmpty
public static boolean isNotEmpty(String str)Checks if a String is not empty ("") and not null.
StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true
Parameters:
str - the String to check, may be null
Returns:
true if the String is not empty and not null
判断是否null、空串或空白串
是null或空串或空白串:方法一
if (s == null || s.length() == 0 || s.trim().length() == 0) {
// do something
}
是null或空串或空白串:方法二
if (s == null || s.matches("\\s*")) {
// do something
}
是null或空串或空白串:方法三
import org.apache.commons.lang.StringUtils;
if (StringUtils.isBlank(s)) {
// do something
}
不是null也不是空串和空白串:方法一
if (s != null && s.length() != 0 && s.trim().length() != 0) {
// do something
}
不是null也不是空串和空白串:方法二
if (s != null && !s.matches("\\s*")) {
// do something
}
不是null也不是空串和空白串:方法三
import org.apache.commons.lang.StringUtils;
if (StringUtils.isNotBlank(s)) {
// do something
}
isBlank
public static boolean isBlank(String str)Checks if a String is whitespace, empty ("") or null.
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
Parameters:
str - the String to check, may be null
Returns:
true if the String is null, empty or whitespace
isNotBlank
public static boolean isNotBlank(String str)Checks if a String is not empty (""), not null and not whitespace only.
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true
Parameters:
str - the String to check, may be null
Returns:
true if the String is not empty and not null and not whitespace
In Bash
判断是否空串(或者未定义)
格式1:test -z "$STR"
格式2:[ -z "$STR" ]
注:test是[]的同义词。注意加上引号,否则有可能报错。
格式3:test "$STR" == ""
格式4:[ "$STR" == "" ]
格式5:test "$STR" = ""
格式6:[ "$STR" = "" ]
注:==等同于=。
格式7:[[ "$STR" = "" ]]
格式8:[[ $STR = "" ]]
格式9:[[ "$STR" == "" ]]
格式10:[[ $STR == "" ]]
格式11:[[ ! $STR ]]
注:[[是Bash关键字,其中的变量引用不需要加双引号。
[root@jfht ~]# if test -z "$STR"; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [ -z "$STR" ]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if test "$STR" == ""; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [ "$STR" == "" ]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if test "$STR" = ""; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [ "$STR" = "" ]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [[ "$STR" = "" ]]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [[ $STR = "" ]]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [[ ! $STR ]]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]#
判断是否非空串
格式1:test "$STR"
格式2:[ "$STR" ]
格式3:test -n "$STR"
格式4:[ -n "$STR" ]
格式5:test ! -z "$STR"
格式6:[ ! -z "$STR" ]
格式7:test "$STR" != ""
格式8:[ "$STR" != "" ]
格式9:[[ "$STR" ]]
格式10:[[ $STR ]]
the length of STRING is nonzero
STRING
equivalent to -n STRING
-z STRING
the length of STRING is zero
判断变量是否已定义(声明)
格式1:if declare -p VAR; then do_something; fi
格式2:declare -p VAR && do_something
在Bash中typeset命令等同于declare命令。
格式3:if [ "${VAR+YES}" ]; then do_something; fi
格式4:[ "${VAR+YES}" ] && do_something
${VAR+YES}表示如果VAR没有定义则返回YES,否则返回空
[root@jfht ~]# if declare -p VAR; then echo "VAR defined"; fi
-bash: declare: VAR: not found
[root@jfht ~]# declare -p VAR && echo "VAR defined"
-bash: declare: VAR: not found
[root@jfht ~]# if [ "${VAR+YES}" ]; then echo "VAR defined"; fi
[root@jfht ~]# [ "${VAR+YES}" ] &&echo "VAR defined"
[root@jfht ~]#
[root@jfht ~]# VAR=
[root@jfht ~]# if declare -p VAR; then echo "VAR defined"; fi
declare -- VAR=""
VAR defined
[root@jfht ~]# declare -p VAR && echo "VAR defined"
declare -- VAR=""
VAR defined
[root@jfht ~]# if [ "${VAR+YES}" ]; then echo "VAR defined"; fi
VAR defined
[root@jfht ~]# [ "${VAR+YES}" ] &&echo "VAR defined"
VAR defined
[root@jfht ~]#
判断变量没有定义(声明)
格式1:if [ ! "${VAR+YES}" ]; then do_something; fi
格式2:[ ! "${VAR+YES}" ] && do_something
本文链接:http://codingstandards.iteye.com/blog/1171360 (转载请注明出处)
返回目录:Java程序员的Bash实用指南系列之字符串处理(目录)
上节内容:Bash字符串处理(与Java对照) - 5.字符串输入(读取字符串)
下节内容:Bash字符串处理(与Java对照) - 7.字符串与默认值
发表评论
-
Bash字符串处理(与Java对照) - 22.判断字符串是否数字串
2011-10-25 09:25 5502Bash字符串处理(与Java对照) - 22.判断字符串是否 ... -
Bash字符串处理(与Java对照) - 21.字符串正则匹配
2011-10-24 09:07 11075Bash字符串处理(与Java对照) - 21.字符串正则匹配 ... -
Bash字符串处理(与Java对照) - 20.查找子串的位置
2011-10-19 09:14 6844Bash字符串处理(与Java对照) - 20.查找子串的位置 ... -
Bash字符串处理(与Java对照) - 19.查找字符的位置
2011-10-18 09:06 5955Bash字符串处理(与Java对照) - 19.查找字符的位置 ... -
Bash字符串处理(与Java对照) - 18.格式化字符串
2011-10-17 09:18 5018Bash字符串处理(与Java对照) - 18.格式化字符串 ... -
Bash字符串处理(与Java对照) - 17.判断是否以另外的字符串结尾
2011-10-09 08:58 6998Bash字符串处理(与Java对照) - 17.判断是否以另外 ... -
Bash字符串处理(与Java对照) - 16.判断是否以另外的字符串开头
2011-10-08 09:17 8419Bash字符串处理(与Java对照) - 16.判断是否以另外 ... -
Bash字符串处理(与Java对照) - 15.计算子串出现的次数
2011-09-28 09:37 3434Bash字符串处理(与Java对照) - 15.计算子串出现的 ... -
Bash字符串处理(与Java对照) - 14.判断是否包含另外的字符串(多达6种方法)
2011-09-27 13:22 8357Bash字符串处理(与Java对照) - 14.判断是否包含另 ... -
Bash字符串处理(与Java对照) - 13.字符串数组连接(以指定分隔符合并)
2011-09-26 09:19 5210Bash字符串处理(与Java对照) - 13.字符串数组连接 ... -
Bash字符串处理(与Java对照) - 12.字符串连接
2011-09-23 09:08 6373Bash字符串处理(与Java对照) - 12.字符串连接 ... -
Bash字符串处理(与Java对照) - 11.比较两个字符串大小(字典顺序、数值比较)
2011-09-21 09:31 5733Bash字符串处理(与Java对照) - 11.比较两个字符串 ... -
Bash字符串处理(与Java对照) - 10.判断两个字符串是否相等(不等)
2011-09-20 09:16 6935Bash字符串处理(与Java对照) - 10.判断两个字符串 ... -
Bash字符串处理(与Java对照) - 9.获取字符串指定位置的字符、遍历字符串中的字符
2011-09-19 09:13 3755Bash字符串处理(与Java对照) - 9.获取字符串指定位 ... -
Bash字符串处理(与Java对照) - 8.计算字符串长度
2011-09-16 09:20 5688Bash字符串处理(与Java对照) - 8.计算字符串长度 ... -
Bash字符串处理(与Java对照) - 7.字符串与默认值
2011-09-15 09:20 3971Bash字符串处理(与Java对照) - 7.字符串与默认值 ... -
Bash字符串处理(与Java对照) - 5.字符串输入(读取字符串)
2011-09-13 09:28 3958Bash字符串处理(与Java对照) - 5.字符串输入(读取 ... -
Bash字符串处理(与Java对照) - 4.字符串输出
2011-09-08 09:30 3771Bash字符串处理(与Java对照) - 4.字符串输出 I ... -
Bash字符串处理(与Java对照) - 3.给(字符串)变量赋值
2011-09-07 09:29 6909Bash字符串处理(与Java ... -
Bash字符串处理(与Java对照) - 2.字符串的表示方式(字符串常量)
2011-09-06 09:18 6165Bash字符串处理(与Java ...
相关推荐
bash-3.1-MSYS-1.0.11-snapshot.tar.bz2 ffmpeg 安装用包!
通过这个工具,你可以将LaTeX公式转换为MathML,或者将MathML代码转化为LaTeX字符串,从而在不同环境下灵活运用。 三、LaTeX到MathML的转换 在LaTeX到MathML的转换过程中,`fmath-mathml-java.jar`首先解析LaTeX...
修复redhat6 bash远程执行任意代码漏洞CVE-2014-6271
3. **文本块(Text Blocks)**:Java 13 引入的新语法特性,使得多行字符串的编写更加直观,减少了转义字符的困扰。 4. **记录类(Record Classes)**:Java 14 添加的记录类简化了创建不可变数据对象的过程,自动...
-bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 安装完后 java -version 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要...
MySQL Connector/J 8.0.13 是MySQL数据库与Java应用程序之间的重要桥梁,它是Oracle官方提供的用于Java平台的MySQL驱动程序。这个jar包允许开发者在Java应用中执行SQL语句,进行数据的读取、写入和管理MySQL数据库。...
因此,libaio-devel 包含的头文件和开发库对于构建和配置依赖于 libaio 的应用程序,如 Oracle 数据库的安装和配置,是必不可少的。 在给定的压缩包中,有两个不同的 RPM 文件,分别是针对 i386(32位)架构的 ...
5. **文本块(Text Blocks)**:预览特性,允许在代码中方便地插入多行字符串,减少转义字符的使用。 在下载和安装Java JDK 11.0.8之后,开发者可以使用`javac`编译Java源代码,生成字节码(`.class`文件)。通过`...
`fontconfig`是一个开源的字体配置库,它负责管理和查找系统中的字体,为应用程序提供统一的接口来处理字体问题。在没有互联网连接或者网络受限的环境中,确保Linux能够正确显示中文字符,就需要手动安装和配置字体...
标题中的"jdk-11.0.16.1-linux-x64-bin.tar"是一个针对Linux操作系统的64位Java Development Kit(JDK)的压缩文件,版本为11.0.16.1。这个文件是Oracle JDK的特定版本,用于在Linux环境下开发和运行Java应用程序。 ...
rhel 6.4 64位 bash漏洞更新包
综上所述,`protoc.exe`和`protobuf-java-2.5.0.jar`是protobuf工具链的关键组成部分,它们一起帮助开发者在Java环境中定义、编译和处理protobuf数据结构。为了充分利用protobuf,开发者需要了解如何编写.proto文件...
总的来说,rlwrap提供了一种更高效、更易用的方式来与sqlplus交互,尤其是在处理字符编码问题时。对于需要频繁使用sqlplus的数据库管理员和开发者来说,rlwrap是一个非常实用的工具。通过正确配置和使用rlwrap,可以...
标题中的"arm-linux-gcc-4.4.3.tar.gz"是一个针对ARM架构的Linux GCC交叉编译器的压缩包,版本为4.4.3。这个文件通常用于在非ARM设备(如Ubuntu系统)上构建能在ARM处理器上运行的Linux应用程序。下面将详细介绍...
`fonts-chinese-3.02-12.el5.noarch.rpm` 是一个专为中文字符设计的字体包。它包含了多种中文字体,可能包括宋体、黑体、仿宋、楷书等,用于支持中文显示。这个版本号(3.02-12)和发行版号(el5)表示这是针对...
4. **文本块(Text Blocks)**:新语法特性,用于处理多行字符串,减少转义字符的使用,提高代码可读性。 5. **改进的垃圾收集器**:包括ZGC(Z Garbage Collector)和Shenandoah,提供了更低的暂停时间,适合大...
测试字符串是否为null 7-7. zmore 8-1. 最大公约数 8-2. 使用算术操作符 8-3. 使用&&和||进行混合状态的test 8-4. 数字常量的处理 9-1. $IFS 和空白 9-2. 时间输入 9-3. 再来一个时间输入 9-4. Timed read 9-5. 我...
5. **文本块(Text Blocks)**:Java 11引入了文本块(多行字符串字面量)的预览特性,允许程序员方便地处理多行文本,减少字符串连接操作和转义字符的使用。 6. **其他语言特性和API增强**:包括对TLS协议的更新、...
- `[[ -z $str ]]`:检查字符串是否为空。 - `[[ -n $str ]]`:检查字符串是否非空。 五、字符串查找 `echo ${str##prefix}`:从字符串末尾去除最前面的prefix。 `echo ${str%%suffix}`:从字符串开头去除最后面的...
4. **文本块(Text Blocks,JEP 378)**:为Java源代码引入了多行字符串文字,使得处理多行字符串变得更加简单。 5. **强类型字符串连接(JEP 359)**:增强了字符串连接操作的性能,使得在连接字符串时无需创建...